Cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to ingest an activity with detailed data (I can upload TCX, FIT, or even custom JSON)

ANSWERED

I'm an author of a free and open source mobile app Track My Indoor Workout (https://trackmyindoorworkout.github.io/) which records workouts with detailed time series containing non cumulative metrics speed / pace, power (W), cadence, heart rate, GPS location and cumulative metrics elapsed time, distance and burned calories. The app's primary focus are indoor workouts on Bluetooth Smart fitness machines, and one speciality is that TMIW uses the athlete's speed / pace to generate a GPS track as if the athlete would circling laps around a track. This is along the same line if someone would ride along a GPS route in London with Zwift or Sufferfest, just I'm simplifying it to a specific track.

 

I'm already able to export in FIT and TCX formats. I'm able to upload to Strava, SUUNTO (also a wearable manufacturer as FitBit), MapMyFitness / MapMyRide / MapMyRun / Under Armour, and Training Peaks. Most of the portals require FIT file, whereas UA requires a custom JSON format time series data. I can generate any kind of JSON data FitBit will require (if needed). All my current integrations use OAuth / OAuth 2, that aligns with FitBit's API as far as I saw. However I cannot find an API endpoint which I could leverage for upload.

 

I really hope that FitBit is open for upload such as SUUNTO. Garmin is short sighted in this regard, don't be like Garmin.

 

Why is this needed? Let's say I record my indoor workout with a FitBit on my wrist then it won't have speed or distance aspects. However I take a spinning class very very seriously: HR zone 5+, over 300W average, half bucket of sweat. I don't want to let those watts, miles, and sweat lost to the ether. This is why Track My Indoor Workout was created. So even if I record the HR with FitBit I most definitely want to capture the other modalities such as cadence, speed, watts, distance, etc. I believe this would be beneficial for FitBit as a health portal as well and more data could be extracted for machine learning. That's compelling reason why the upload is needed. Buckets of sweat and suffering.

Best Answer
0 Votes
1 BEST ANSWER

Accepted Solutions

I will file an enhancement for you.

 

To answer your other question, "Is there at least a way to manually upload a FIT (or any other standard) file via the FitBit web portal as a FitBit portal user?".   Unfortunately, we do not.

Gordon Crenshaw
Senior Technical Solutions Consultant
Fitbit Partner Engineering & Web API Support | Google

View best answer in original post

Best Answer
5 REPLIES 5

The relevant topic I found was https://community.fitbit.com/t5/Web-API-Development/Upload-TCX-activity-to-fitbit/td-p/3462173 which doesn't look promising. I see there are time series data access endpoint but those are read only. Would a File Transfer API satisfy my needs (I don't think so)?

Best Answer
0 Votes

Should I fill out IntraDay form by any chance? https://dev.fitbit.com/build/reference/web-api/intraday/

It looks like though this is about reading data, not writing.

Best Answer
0 Votes

Hi @tocsa 

 

Unfortunately, The Web API does not allow uploading TCX or intraday data to our servers.   You could upload information about a workout recorded by your product, https://dev.fitbit.com/build/reference/web-api/activity/create-activity-log/.  However, you won't be able to upload GPS routes.   My suggestion would be to allow your customer base to record a workout using the Fitbit device, download the data to your application and have your application generate and store the GPS routes in your app.   The intraday data will give you detailed data to help plot the points more accurately.

 

Gordon

Gordon Crenshaw
Senior Technical Solutions Consultant
Fitbit Partner Engineering & Web API Support | Google
Best Answer
0 Votes

The problem is that the workouts I'd upload are indoor workouts. An indoor workout recorded by a FitBit / Garmin / SUUNTO / Polar essentially only contains my heart rate and that's it (might be also calories estimated by HR, however calories based on a crank power can be more useful). That's too sparse for a full workout compared to what MY uploads would contain: power (W), speed / pace, cadence, distance, GPS position, calories besides heart rate, in a DETAILED time series manner. Please file a ticket in FitBit's internal developer system for such an upload feature request. There must be an API what FitBit devices use for upload, developers need to open that up for apps. It does not have to be a FIT upload, for example I'm already delaing with a proprietary JSON format for Under Armour, that's a non issue, I'll send data in whatever format required.

Is there at least a way to manually upload a FIT (or any other standard) file via the FitBit web portal as a FitBit portal user? I cannot find that either for a test. That would be a cumbersome fallback, but at least something.

Best Answer
0 Votes

I will file an enhancement for you.

 

To answer your other question, "Is there at least a way to manually upload a FIT (or any other standard) file via the FitBit web portal as a FitBit portal user?".   Unfortunately, we do not.

Gordon Crenshaw
Senior Technical Solutions Consultant
Fitbit Partner Engineering & Web API Support | Google
Best Answer