> 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/data-api-sdk/webhooks-dedup-and-sync-reliability.md).

# Webhooks, dedup and sync reliability

Common questions about webhooks, dedup and sync reliability.

## Articles

{% content-ref url="/pages/oz78tUzOWlaCozkuByah" %}
[Why are daily step totals inconsistent across webhooks?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/daily-payload-cumulative-overwrite-by-day.md)
{% endcontent-ref %}

{% content-ref url="/pages/viTb59czGBmEXZLYfih1" %}
[How do I make production sync reliable?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/webhooks-as-primary-source-best-practice.md)
{% endcontent-ref %}

{% content-ref url="/pages/JwhiHZHrQcZGQ9c5ILiY" %}
[How do I dedupe two payloads for the same event?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/dedup-by-summary-id-overwrite-updates.md)
{% endcontent-ref %}

{% content-ref url="/pages/3pQM3rEBT5uaJuoAbmUD" %}
[How do I dedupe multiple sources behind Apple Health?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/apple-health-multi-source-dedup.md)
{% endcontent-ref %}

{% content-ref url="/pages/sVLTOlexCkF7b3AYrdo6" %}
[Can Apple Health data arrive near real-time?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/apple-sdk-sync-timing-foreground-dependent.md)
{% endcontent-ref %}

{% content-ref url="/pages/si2GoUZhWlZWxSuD74bl" %}
[How reliable is iOS background data delivery?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/ios-background-delivery-reliability-setup.md)
{% endcontent-ref %}

{% content-ref url="/pages/fU45bIqivahBAJcx9wFk" %}
[Can a payload show its originating source through an aggregator?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/originating-source-via-device-data.md)
{% endcontent-ref %}

{% content-ref url="/pages/omw0AyaeAKNRoCRC5i1J" %}
[How do I stop receiving Oura data through Apple?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/apple-foreign-data-tagged-apple-filter.md)
{% endcontent-ref %}

{% content-ref url="/pages/3jjv3dmYOBmPp3OlaKma" %}
[Can I detect and exclude manually entered steps?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/manual-entry-upload-type-filtering.md)
{% endcontent-ref %}

{% content-ref url="/pages/Qp876obBmuuHaP9sA7Jj" %}
[Why does Samsung Health send webhooks with empty data?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/samsung-health-empty-data-not-syncing.md)
{% endcontent-ref %}

{% content-ref url="/pages/GwX6DJqmaoaJ1JenbL5C" %}
[Why are deleted Garmin activities still returned?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/garmin-deleted-activities-persist.md)
{% endcontent-ref %}

{% content-ref url="/pages/YEKgAZD3fvcvSiwJ0yVg" %}
[Why does a daily payload look missing for one day?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/timezone-date-boundary-missing-day.md)
{% endcontent-ref %}

{% content-ref url="/pages/qhS0yOaMvxXxv4B2VW3z" %}
[What sync frequency can I expect per provider?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/sync-freshness-bottleneck-device-to-cloud.md)
{% endcontent-ref %}

{% content-ref url="/pages/1WUKGwDENCPJKX7Q6lOH" %}
[How do I dedupe sleep webhooks with the same start time?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/sleep-dedup-summary-id.md)
{% endcontent-ref %}

{% content-ref url="/pages/vdHMDUnUEDI3drXLfwhC" %}
[Why was the same workout re-sent with a different timezone?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/apple-travel-timezone-duplicate-workouts.md)
{% endcontent-ref %}

{% content-ref url="/pages/rbQLG0epN6A7KWQa2jn2" %}
[What webhook traffic rates should I expect?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/webhook-traffic-rates.md)
{% endcontent-ref %}

{% content-ref url="/pages/6YOx0G5DZrj72kDp8GPW" %}
[Why do Apple body metrics arrive after step changes?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/apple-body-payloads-independent.md)
{% endcontent-ref %}

{% content-ref url="/pages/2p4MVIdfIbFYbYTDm57L" %}
[Why did the first webhook lack heart rate?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/near-simultaneous-webhooks-use-latest.md)
{% endcontent-ref %}

{% content-ref url="/pages/7rBrgdjl8ldloGYIxZdg" %}
[Why do Oura payloads differ from the Oura app?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/oura-app-vs-terra-discrepancy.md)
{% endcontent-ref %}

{% content-ref url="/pages/xj02ktQZsDB32KUQPOxc" %}
[Why does Oura app HRV differ from the API HRV?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/hrv-app-vs-api-calculation-diff.md)
{% endcontent-ref %}

{% content-ref url="/pages/7kScxJrUAa05KWAVe72L" %}
[Why did new payload fields break my parser?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/additive-schema-new-fields-parser.md)
{% endcontent-ref %}

{% content-ref url="/pages/GH63r0OpAPQouOjgFUpc" %}
[Why are COROS activities delayed by several minutes?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/coros-polling-latency-no-webhooks.md)
{% endcontent-ref %}

{% content-ref url="/pages/jXK8RkKtzhaqHzeyFmxY" %}
[What is the permission\_change webhook type?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/informational-webhook-event-types.md)
{% endcontent-ref %}

{% content-ref url="/pages/XjFb2Lqv3T6pzc2H64lV" %}
[How do I know when a data request's last event arrived?](/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability/track-webhook-request-completion.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tryterra.co/faq/help-topics/data-api-sdk/webhooks-dedup-and-sync-reliability.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
