For the complete documentation index, see llms.txt. This page is also available as Markdown.

Why are daily step totals inconsistent across webhooks?

Daily payloads are a running summary of the 24-hour period, sent multiple times as new data arrives, each containing totals up to that point.

Daily payloads are a running summary of the 24-hour period, sent multiple times as new data arrives, each containing totals up to that point. Always overwrite a given date with the latest payload you receive.

For Apple Health, each daily webhook is an update or correction, not an increment:

  • The first comes from the first device that syncs.

  • Further updates arrive as other devices sync into HealthKit.

  • The total value comes directly from HealthKit and matches the Apple Health app, while step_samples are produced by Terra's aggregation across sources and converge to the same daily total by end of day.

Discrepancies versus the app are usually multiple devices syncing or data still processing. If the final total for a closed day still differs from the app for that exact date, report it for investigation. See receiving data updates for more.

Last updated

Was this helpful?