< Blogs
Alex Venetidis

Alex Venetidis

November 7, 2022

November updates

Even more integrations, more user-friendly authentication, and additional data samples from existing integrations.

New integrations! 🔌

What?

We've added integrations with Biostrap, RideWithGPS, and InBody this month! Bringing our range of integrations to an even more extensive breadth, and depth. RideWithGPS adds to our cycling-focused integrations, InBody to our body measurement ones, and Biostrap to our more clinically-driven device integrations

How?

We've been in touch with Biostrap over the past year as they were developing their API, and have been excited to finally get to work with it and provide it as an integration now that they're more ready to release that!

As for InBody, we've also been in touch with InBody over the past couple of months, planning the best way to add them into our system due to their authentication-less system for querying data 😺 instead, each facility has its users & identifies them internally, and can fetch their data at any point.

For RideWithGPS, this was a standard OAuth2-based integration that fits right into the current ones such as Wahoo, Garmin, Zwift & the like in terms of the data types returned.

Why?

We're always looking at expanding the number of integrations we offer. Being a one-to-all API is a core driver of our main product, and this goes in that exact direction. For some of these integrations, our users have been requesting them and been excited to use them; for others we need to reach out to form partnerships & proactively plan ahead.

User-friendly authentication

What?

Until now, our authentication mechanism has been developer-focused. We made sure that all users connecting through the service would need to share all possible data points requested by the developer to be successfully authenticated.

If all the boxes aren't ticked, the authentication will be unsuccessful.

Instead, we now can allow users to restrict the range of data they consent to share with developers, and instead let developers know the scopes they have agreed to share.

How?

We changed our authentication mechanism to be more permissive, and keep track of the user's accepted scopes at any given moment. This allows us to also return the scopes in the Terra User object as metadata for debug purposes and lets users keep utilizing the various functionalities of developers' apps that they have access to

Why?

While this meant that developers would never be left wondering why a certain user wouldn't receive e.g. heart rate data but would receive the rest, it meant that users who don't want to share the entirety of this data with a developer wouldn't be able to use their app, causing potential frustration.

We were now confident that at this stage, as our systems have become a lot more robust & confusion has been reduced as to why certain data may not show up for a given user, UX should take priority, and focus should be placed on making connection as smooth as possible for end users.

Additional data samples

What?

We've added calorie samples, duration data to these and step samples and allowed Coros activities to provide sample data as often as second-by-second.

How?

For calorie & step samples, it's now possible to retrieve how long it took a user to accomplish those steps thanks to the timer_duration_seconds field, which in the Daily payload, indicates the time elapsed between the start of the very first sample in the area until the end of the current sample.

Combined with the sample's timestamp, which indicates the start time, it is possible to deduce how long the user took to burn a certain amount of calories or walk a certain amount of steps.

Coros has always provided FIT files in a non-standard format, which all available FIT parsers out there for Python could not parse. Recently, however, Garmin (who owns the FIT standard) released a Python version of their official SDK in early October, which was able to decode Coros fit files (even though it issues a warning letting us know that the FIT file is technically invalid)

Why?

Coros has been gaining popularity over the recent past, and users wanted to be able to access more granular data coming from activities recorded with their watches. To this effect, combined with the fact that Garmin released their newest SDK promptly, we wanted to implement this feature ASAP to fully use Coros' data!

More Topics

All Blogs
Team Spotlight
Startup Spotlight
How To
Blog
Podcast
Product Updates
Wearables
See All >
CEO and Founder of Prenuvo - Andrew Lacy

CEO and Founder of Prenuvo - Andrew Lacy

In this podcast with Kyriakos the CEO of Terra, Andrew Lacy shares his journey with Prenuvo which began from a personal health crisis.

Terra APITerra API
August 28, 2024
MedHacks: Using Wearables To Predict Heart Attacks

MedHacks: Using Wearables To Predict Heart Attacks

A few weeks ago we met Vishal, a recent engineering graduate who wanted to use Terra API as part of his MedHacks hackathon project, Cardio Clarity.

Gursukh SembiGursukh Sembi
August 19, 2024
July 2024 updates

July 2024 updates

Teams API adds Kinexon integration & new webhooks. Terra Health Scores now include Respiratory & Stress metrics. Eight Sleep integration returns with enhanced data.

Alex VenetidisAlex Venetidis
August 2, 2024
Vice President of Teamworks - Sean Harrington

Vice President of Teamworks - Sean Harrington

In this podcast with Kyriakos the CEO of Terra, Sean Harrington shares his journey from founding NoteMeal to becoming the VP of Teamworks.

Terra APITerra API
August 2, 2024
Chief Digital Product Officer of Les Mills - Amber Taylor

Chief Digital Product Officer of Les Mills - Amber Taylor

In this podcast with Kyriakos the CEO of Terra, Amber Taylor shares her journey from childhood running to her leadership role at Nike and navigating cultural differences.

Terra APITerra API
August 2, 2024
next ventures
pioneer fund
samsung next
y combinator
general catalyst

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.