• Unified API
  • Mobile SDK
  • Connection Widget
  • Streaming
  • Lab Reports API
  • Graph API
  • Health Scores
  • Health Rewards
  • Planned Workouts
  • Predictions
  • Lab Testing
  • DNA Testing
  • AI Interface
  • Enterprise
  • Insurance
  • Integrations
  • Research
  • Podcast
  • Blog
  • Reports
  • Events
  • Documentation
  • Community
  • Example apps
  • Wearable Data
  • About
  • Customers
  • Partners
  • Startup Accelerator
  • Careers
  • Support
  • Pricing
Terra
Pricing
Become an integrationGet started


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
zap

Latest

zap

Popular

API

Unified API

SDK

Phone SDK

Authentication

Widget

Streaming

Streaming

Graph API

Graph API

Which providers does Terra feed HRV and Skin Temp for?

All

DevelopedUnicorn1 month ago

Hi,

I'm evaluating Terra before purchase. My app needs two metrics, HRV and skin temperature, and most vendors withhold both from Apple Health and Health Connect. Terra pulling from vendor APIs instead is the whole reason I'm looking at it.

Two questions across Garmin, Oura, Whoop, Polar, Samsung, Coros, Fitbit, Suunto, Zepp/Amazfit and Ultrahuman:

Which of those does the Terra feed actually include HRV and a temperature value for (nightly deviation or absolute)? Is there a per-provider data-availability table anywhere?

Which of them are bring-your-own-keys? The docs cover Whoop and Huawei, but I can't tell how the "N/A" in the Integration Credentials column should be read. Garmin matters most here, since it has paused new API access requests, so my own credentials aren't obtainable right now.

Thanks, Tatum

terra

Vanessaadmin1 month ago

Hi Tatum,

Across the ten providers you listed, Terra's feed carries HRV (RMSSD) for nine of them and a nightly skin or body temperature value for six.

Here is the per-provider picture, all on the sleep payload unless noted:

ProviderHRV (RMSSD)Skin / body temperature
GarminYes, heart_rate_data.summary.avg_hrv_rmssdYes, nightly deviation from baseline in temperature_data.delta (Celsius)
OuraYesYes, nightly deviation in temperature_data.delta
WhoopYesYes, average absolute skin temperature from the Recovery record
PolarYes, sourced from Polar's Nightly Recharge featureYes, both absolute sleep-time skin temperature and deviation from baseline
FitbitYesYes, nightly relative delta (needs the temperature OAuth scope on your Fitbit app)
UltrahumanYes on sleep, daily and body payloadsYes, absolute skin temperature samples on the body payload
CorosYesNo, Coros does not expose a temperature metric
SuuntoYesNo
Zepp / AmazfitYesNo
Samsung HealthOnly if the device writes RMSSD into Health ConnectOnly if the device writes body temperature into Health Connect

A couple of quirks worth flagging. Garmin's HRV and skin temperature deviation ride on separate overnight summaries, so they can arrive on the sleep record after the initial stages payload; upserting on metadata.summary_id catches the update. Details in why HRV and resting HR are null on some Garmin sleep records. Samsung Health has two routes into Terra: through Health Connect (the GOOGLEFIT Health Connect-based integration in the table), or via a direct Samsung Health Data SDK route (the SAMSUNG row) that needs a Samsung partner approval. On either route, HRV and body temperature only show up when the Samsung device is configured to write them into Health Connect or Samsung Health, and coverage varies by device.

Field paths for everything above are in the data models reference.

On bring-your-own-keys, the supported integrations table is the source of truth, and the FAQ that explains the Integration credentials column is here: which providers need my own credentials. The short version:

  • Managed means Terra's own app with the provider is used and there is nothing for you to enter. For Garmin, they require you to have your own app credentials.
  • Required means you register your own developer app and paste the credentials into the Terra dashboard. Whoop is in this bucket, and Samsung's direct Health Data SDK route is here too via Samsung's partner approval.
  • N/A means there is nothing to configure in the dashboard. Apple Health needs no credentials at all, and Intervals.icu / Lyfta rely on each end user pasting their own personal API key at connect time. Health Connect (which is how Samsung Health typically reaches Terra) also sits under N/A because it is SDK-based.

If it helps to see the payload shapes end-to-end before you commit, the widget flow is the quickest way to auth a test account and inspect real sleep and body responses per provider.