• Unified API
  • Mobile SDK
  • Connection Widget
  • Streaming
  • Lab Reports API
  • Graph API
  • Health Scores
  • Health Rewards
  • Planned Workouts
  • Lab Testing
  • AI Interface
  • Enterprise
  • Insurance
  • Integrations
  • Research
  • Podcast
  • Blog
  • Reports
  • Events
  • Documentation
  • Community
  • Example apps
  • Wearable Data
  • About
  • Customers
  • Partners
  • Careers
  • Support
  • Pricing
Terra
Pricing
Become an integrationGet started
next ventures
pioneer fund
samsung next
y combinator
general catalyst

The world's best health apps run on Terra data

Get started
ProductsIntegrationsAI InterfaceAuthenticationMobile DevelopmentDocumentationGraphAPI
DocumentationAPISDKQuickstart
CommunityBlogResearchCommunityPodcastAuthorsGithub
CompanyAboutCareersCustomersBecome an IntegrationCookies PolicyGDPRPrivacy PolicyTerms of Purchase
© Terra API. 2026 — All rights reserved.

Cookie Preferences

Essential CookiesAlways On
Advertisement Cookies
Analytics Cookies

Crunch Time: Embrace the Cookie Monster Within!

We use cookies to enhance your browsing experience and analyse our traffic. By clicking “Accept All”, you consent to our use of cookies according to our Cookie Policy. You can change your mind any time by visiting out cookie policy.

Cookies Policy
All articles

In this article:

  • 01Push or ping: choose how Terra delivers each payload
  • 02Health data coverage endpoint for a better UX
  • 03Dexcom in the EU, and a sandbox to build against
  • 04Filter Apple Health data by the app that wrote it
  • 05Lab Reports now matches biomarkers at large scale across 4000+ metrics
  • 06Also in March
All articles

Product Updates

March 2026 product update: choose push or ping delivery, and check what data a user has before you ask for it

March 2026: push or ping delivery mode, a health data coverage endpoint, Dexcom in the EU with a sandbox, and expanded biomarker matching.


Alex Venetidis
Alex Venetidis

1 April 2026

Terra health data API product update for March 2026: new integrations, endpoints and developer features

TL;DR: You can now choose, per connection, whether Terra pushes the full payload to your endpoint or sends a small notification you fetch from at your own pace. March also added a way to ask what data a user actually has before you spend a request asking for it, opened Dexcom in the EU with a sandbox to build against, and lifted biomarker matching accuracy in Lab Reports to 97.5 percent.

Push or ping: choose how Terra delivers each payload

Terra's default is push. A payload is ready, Terra posts the whole thing to your webhook endpoint, and your endpoint stores it. That is the simplest thing that works, and it is the right default for most teams.

Ping mode fits a different set of architectures. If your payloads are large, if your endpoint sits behind an ingress with a body size limit, or if a morning sync burst arrives faster than your workers can absorb it, you want control over when the body reaches you. Terra sends a small notification saying that data of a given type is ready for a given user, and you fetch the body when you are ready for it. Your endpoint stays efficient and fast, backpressure becomes your decision rather than a queue you cannot see, and a slow consumer no longer risks dropping data.

The toggle is per connection and it is self-serve, in the delivery mode control on the connection's settings in your dashboard. Both modes are documented in the webhooks guide.

Get the latest Terra Research reports and insights every week as soon as they're published.

By continuing, I agree to the Privacy Policy and Terms of Service.

Health data coverage endpoint for a better UX

Providers impose rate limits, and those limits are shared across all of your users rather than being per user. That makes a wasted request genuinely expensive: every call you spend asking for sleep data from a user who does not wear their device overnight is a call you cannot spend on a user who does.

March added a coverage endpoint that answers the question directly. You ask what a given user has, and you get back which data types they have and over what period, so your code can request only what exists. The month cap that originally limited how far back you could ask about was removed during the same month, so the answer now spans the user's whole history.

For products with a lot of connected users this changes the arithmetic of a nightly job quite sharply, because the set of users worth polling for any given data type is usually much smaller than the set of users who are connected.

Dexcom in the EU, and a sandbox to build against

Dexcom support was extended to the EU region in March, and a sandbox mode was added so you can build and test a continuous glucose monitoring feature without needing a real sensor on a real arm. The sandbox returns realistic glucose traces, which means the graph you are building can be checked against plausible data well before your first real user connects.

Details are in the Dexcom page.

Filter Apple Health data by the app that wrote it

Apple Health is a shared store: Everything on the phone writes into it: the watch, the scale, the sleep app, the meditation app, the nutrition tracker, and any number of things the person installed once and forgot about. When you read from it, you get all of them, which produces the classic duplicate problem where the same run appears three times because three apps recorded it.

March added the ability to filter by which app wrote each record, along with a guide explaining how to decide what to keep. The mobile SDK pages cover the setup, in mobile-only sources.

Lab Reports now matches biomarkers at large scale across 4000+ metrics

Lab Reports takes a PDF or a photograph of a lab result and returns structured biomarker data. This includes what each line refers to, because laboratories name the same test differently, abbreviate inconsistently, and print in different languages. A line reading "HDL-C" and a line reading "Cholesterol, HDL" and a line reading "HDL Kolesterol" all mean the same thing, and none of them matches on a string comparison.

March brought a substantial improvement to that matching step, including 4000+ biomarkers. The biomarker catalogue, including the codes each entry maps to, is in the biomarker reference.

Also in March

  • Streaming API guides for React Native and Flutter were published, so you can add live sensor streaming on both platforms straight from the guide. They are in the Streaming API section.
  • Webhook timeouts are now configurable per destination, rather than one global value, which helps when one of your endpoints is a fast queue and another is a slow database write.
  • Huawei reached feature parity with the previous generation of the Terra API, gained a webhook handler, and now checks the user's HealthKit privacy consent during authentication.
  • Zepp was added as a planned workouts destination.
  • Hosted authentication pages can now carry your end-user privacy policy, which several app store review processes ask for explicitly.
  • Scopes can now be customised per resource, so you can request narrower permissions rather than everything a provider offers.
Previous
Next

Continue reading

  • Terra now delivers per-set strength training data

    Terra now delivers strength workouts set by set: reps, weight, effort and rest, normalized across nine integrations including watch-sensed Garmin sets.

    8 September 2026

  • Garmin's Connect Developer Program is paused: what it means if you're building on wearable data

    Garmin paused new Connect Developer Program applications while it updates the program. What the pause covers, why Garmin data matters, how to keep shipping.

    7 September 2026

  • Terra's Routes API: Get training routes on your user's watch

    Design an activity route once, and it lands on your users' watch ready to follow, with none of the usual file wrangling!

    6 September 2026