<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://forums.garmin.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Discussion - Recent Threads</title><link>https://forums.garmin.com/developer/fit-sdk/f/discussion</link><description>Discussion about all things FIT SDK</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 27 Oct 2026 11:38:32 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://forums.garmin.com/developer/fit-sdk/f/discussion" /><item><title>RE: Discrepancies Between FIT Files from Garmin Connect and API (API Downgraded?)</title><link>https://forums.garmin.com/thread/2074730?ContentTypeID=1</link><pubDate>Tue, 27 Oct 2026 11:38:32 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:53b5d5c4-a38b-42e2-beb2-535c089481e9</guid><dc:creator>43ec4f3015a043d59ed22795e9618747</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2074730?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/432872/discrepancies-between-fit-files-from-garmin-connect-and-api-api-downgraded/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi Garmin, I&amp;#39;ve been a Garmin user for 8 years and use third-party apps to analyze my training. Since recently, the FIT files shared with these apps no longer include metrics like VO2max, recovery time, training benefit, or lactate threshold, even though the original files still contain them. Please keep sharing my complete activity data with the apps I choose. It&amp;#39;s my data. Thank you!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Discrepancies Between FIT Files from Garmin Connect and API (API Downgraded?)</title><link>https://forums.garmin.com/thread/432872?ContentTypeID=0</link><pubDate>Thu, 12 Mar 2026 15:50:17 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:a499de64-36fe-49c9-bcc9-42139c5c098f</guid><dc:creator>pepe</dc:creator><slash:comments>18</slash:comments><comments>https://forums.garmin.com/thread/432872?ContentTypeID=0</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/432872/discrepancies-between-fit-files-from-garmin-connect-and-api-api-downgraded/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p class="ds-markdown-paragraph"&gt;&lt;span&gt;Unfortunately, Garmin now applies extensive filtering to the files they serve via their API. This means the file retrieved through the API is not identical to:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p class="ds-markdown-paragraph"&gt;&lt;span&gt;The file you can manually download from Garmin Connect&lt;/span&gt;&lt;/p&gt;
&lt;p class="ds-markdown-paragraph"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="ds-markdown-paragraph"&gt;&lt;strong&gt;&lt;span&gt;What&amp;#39;s being filtered?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="ds-markdown-paragraph"&gt;&lt;span&gt;&amp;nbsp;Garmin used to strip out workout steps from API-delivered files. However, based on recent observations, it appears Garmin have recently expanded extensively this filtering to include additional data elements&amp;mdash;likely explaining the missing of several message numbers, session and lap fields we&amp;#39;re now seeing.&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Garmin Connect API — Activity\-Based Rewards Permitted?</title><link>https://forums.garmin.com/thread/446842?ContentTypeID=0</link><pubDate>Sun, 25 Oct 2026 13:40:21 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:0b696e0a-9e4e-4896-a646-0cc3900d1994</guid><dc:creator>1583845</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/446842?ContentTypeID=0</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/446842/garmin-connect-api-activity--based-rewards-permitted/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;Hi everyone,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I&amp;rsquo;m exploring the Garmin Connect Developer Program for a fitness platform focused on rewarding physical activity.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The idea is to use basic workout data (activity type, duration, and distance) to verify completed activities and award points that users can redeem for partnered brands rewards.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Does anyone know if this type of rewards-based use case is permitted under Garmin&amp;rsquo;s API terms?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Has anyone built something similar or received guidance from Garmin regarding commercial incentive programs?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks!&lt;/span&gt;&lt;/p&gt;</description></item><item><title>When will be have a catalan version for Garmin users in Catalunya?</title><link>https://forums.garmin.com/thread/446795?ContentTypeID=0</link><pubDate>Sat, 24 Oct 2026 13:45:17 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:f0cda7af-4497-4f13-a1d9-3e0504d06436</guid><dc:creator>6864014</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/446795?ContentTypeID=0</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/446795/when-will-be-have-a-catalan-version-for-garmin-users-in-catalunya/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I think there are no too much problems to introduce catalan language in the Garmin software. When it will be possible?&lt;/p&gt;</description></item><item><title>VO2 max is not exposed by any Personal API endpoint</title><link>https://forums.garmin.com/thread/446690?ContentTypeID=0</link><pubDate>Thu, 22 Oct 2026 22:43:24 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:e9ee5a6c-c103-4d08-8745-d9d3febe7f60</guid><dc:creator>1580629</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/446690?ContentTypeID=0</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/446690/vo2-max-is-not-exposed-by-any-personal-api-endpoint/rss?ContentTypeId=0</wfw:commentRss><description>&lt;div&gt;
&lt;div&gt;&lt;span&gt;I&amp;#39;m using a Personal API key to pull my own health and fitness data into a daily report. Every other metric I need is available, but I can&amp;#39;t find VO2 max in any endpoint or in downloaded FIT files. It shows up in the Garmin Connect app and website, so the data exists on Garmin&amp;#39;s side.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;###&lt;/span&gt;&lt;span&gt; What I checked&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Using the Personal API (&lt;/span&gt;&lt;span&gt;`personal.connectapi.garmin.com`&lt;/span&gt;&lt;span&gt;) with a current key, I searched all response fields for &lt;/span&gt;&lt;span&gt;`vo2`&lt;/span&gt;&lt;span&gt; and related names in:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`usersummary-service`&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;`/usersummary/daily`&lt;/span&gt;&lt;span&gt; and &lt;/span&gt;&lt;span&gt;`/v2/dailysummaries`&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`sleep-service`&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;`/sleep/dailySleep`&lt;/span&gt;&lt;span&gt; and &lt;/span&gt;&lt;span&gt;`/sleep/dailySleepSummariesByDate`&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`fitnessage-service`&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;`/fitnessage/v2/{calendarDate}`&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`biometric-service`&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;`/heartRateZones/v2`&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`userprofile-service`&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;`/userprofile/settings`&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`activitylist-service`&lt;/span&gt;&lt;span&gt;: activity summaries (about 90 activities)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`activity-service`&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;`/activity/{activityId}`&lt;/span&gt;&lt;span&gt; for each activity type I have (walking, treadmill running, lap swimming, yoga, strength)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`download-service`&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;`/files/activity/{activityId}`&lt;/span&gt;&lt;span&gt;. I parsed the FIT file from a treadmill run, and it contained no VO2 max field. It did contain a &lt;/span&gt;&lt;span&gt;`lactate_threshold_autodetect_enabled`&lt;/span&gt;&lt;span&gt; setting.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;None returned a VO2 max value. This repo&amp;#39;s client also has no VO2 max wrapper.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;###&lt;/span&gt;&lt;span&gt; Questions&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;1.&lt;/span&gt;&lt;span&gt; Is VO2 max available through the Personal API in some endpoint I&amp;#39;ve missed?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;2.&lt;/span&gt;&lt;span&gt; If not, is that intentional for the Personal tier, or could it be added (for example in the daily summary, fitness age or a dedicated endpoint)?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;3.&lt;/span&gt;&lt;span&gt; Are VO2 max, recovery time and performance condition intentionally removed from FIT files delivered through the API? I&amp;#39;ve seen reports that they are, but haven&amp;#39;t found it documented.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;###&lt;/span&gt;&lt;span&gt; Why it matters&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;VO2 max is a core fitness trend metric, and the Personal API&amp;#39;s stated purpose is access to one&amp;#39;s own data. Without it, a personal tracker has to fall back on an unofficial login-based library for this single metric.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Thanks for the Personal API and this example client.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>JS SDK: decoder crash on unknown field before an accumulated field</title><link>https://forums.garmin.com/thread/442200?ContentTypeID=0</link><pubDate>Tue, 18 Aug 2026 19:45:14 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:ff6caf26-cadd-4038-8bc4-ccd1b2e3e8d5</guid><dc:creator>Ufie</dc:creator><slash:comments>3</slash:comments><comments>https://forums.garmin.com/thread/442200?ContentTypeID=0</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/442200/js-sdk-decoder-crash-on-unknown-field-before-an-accumulated-field/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Decoding with&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code data-epitaxy-inline-code=""&gt;Decoder.read({ includeUnknownData: true })&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;fails with:&lt;/p&gt;
&lt;p&gt;&amp;quot;Cannot read properties of undefined (reading &amp;#39;components&amp;#39;)&amp;quot;&lt;/p&gt;
&lt;p&gt;Decoding stops at that point, so all remaining messages in the file are lost.&lt;/p&gt;
&lt;p&gt;Cause is in&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;code data-epitaxy-inline-code="" data-epitaxy-file-ref=""&gt;src/decoder.js&lt;/code&gt;&lt;/span&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code data-epitaxy-inline-code=""&gt;#setAccumulatedField()&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(line 719 in 21.213.0):&lt;/p&gt;
&lt;p&gt;let components = messageDefinition.fields[containingField.fieldDefinitionNumber].components ?? []&lt;/p&gt;
&lt;p&gt;With&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code data-epitaxy-inline-code=""&gt;includeUnknownData: true&lt;/code&gt;, fields that have no Profile entry are present in&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code data-epitaxy-inline-code=""&gt;message&lt;/code&gt;, so this lookup returns undefined. It only triggers when the unknown field comes before an accumulated field (distance, total_cycles, accumulated_power) in the message definition &amp;mdash; the same fields in the opposite order decode fine.&lt;/p&gt;
&lt;p&gt;Fix is the optional chaining already used on the next lookup two lines down:&lt;/p&gt;
&lt;p&gt;let components = messageDefinition.fields[containingField.fieldDefinitionNumber]?.components ?? []&lt;/p&gt;
&lt;p&gt;Reproduced on 21.208.0 and 21.213.0, Node 22. Happy to post a minimal repro script if that helps.&lt;/p&gt;</description></item><item><title>RE: JS SDK: decoder crash on unknown field before an accumulated field</title><link>https://forums.garmin.com/thread/2073649?ContentTypeID=1</link><pubDate>Thu, 22 Oct 2026 18:00:48 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:f212ff11-e7e2-4ca1-a637-c9b40fca10ef</guid><dc:creator>Ufie</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2073649?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/442200/js-sdk-decoder-crash-on-unknown-field-before-an-accumulated-field/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p dir="ltr"&gt;&lt;strong&gt;Update: fixed in 21.217.0&lt;/strong&gt;&lt;/p&gt;
&lt;p dir="ltr"&gt;Thanks to the Garmin team. The missing null guard in &lt;code dir="ltr"&gt;#setAccumulatedField&lt;/code&gt; is fixed in 21.217.0, using the same &lt;code dir="ltr"&gt;?.&lt;/code&gt; change I described above. I&amp;rsquo;ve checked it against the files that originally triggered the crash: they now decode cleanly with &lt;code dir="ltr"&gt;includeUnknownData: true&lt;/code&gt;, and I&amp;rsquo;ve dropped my local patch.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Developer onboarding blocked</title><link>https://forums.garmin.com/thread/2073397?ContentTypeID=1</link><pubDate>Wed, 21 Oct 2026 17:49:48 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:e315459f-d63d-499f-a73f-de3b7ee0773f</guid><dc:creator>Ben FIT</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2073397?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/435484/developer-onboarding-blocked/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;The revamped Garmin Connect Developer Program was release today. Details are available here.&amp;nbsp;&lt;br /&gt;&lt;a id="" href="https://developer.garmin.com/gc-developer-program/overview/"&gt;https://developer.garmin.com/gc-developer-program/overview/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Developer onboarding blocked</title><link>https://forums.garmin.com/thread/435484?ContentTypeID=0</link><pubDate>Wed, 29 Apr 2026 13:19:37 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:f3b00b40-bf83-498a-9fc5-8f71e91238aa</guid><dc:creator>Noah</dc:creator><slash:comments>11</slash:comments><comments>https://forums.garmin.com/thread/435484?ContentTypeID=0</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/435484/developer-onboarding-blocked/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I have emailed&amp;nbsp;&lt;a id="" href="mailto:connect-support@developer.garmin.com"&gt;connect-support@developer.garmin.com&lt;/a&gt;multiple times with no response. The developer onboarding form has been down for more than a month. Has anyone had any success recently onboarding to the developer account or getting access to the activity API?&lt;/p&gt;</description></item><item><title>BOA TARDE. COMO CONSIGO TRAINING API DA GARMIN PARA UM APP PARTICULAR,TENHO PROVAS REAIS QUE O APP FUNCIONA</title><link>https://forums.garmin.com/thread/444331?ContentTypeID=0</link><pubDate>Wed, 16 Sep 2026 20:30:17 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:616242ca-40b9-4183-97e5-e675a6f771c2</guid><dc:creator>5166054</dc:creator><slash:comments>1</slash:comments><comments>https://forums.garmin.com/thread/444331?ContentTypeID=0</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/444331/boa-tarde-como-consigo-training-api-da-garmin-para-um-app-particular-tenho-provas-reais-que-o-app-funciona/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;BOA TARDE. COMO CONSIGO TRAINING API DA GARMIN PARA UM APP PARTICULAR,TENHO PROVAS REAIS QUE O APP FUNCIONA&lt;/p&gt;</description></item><item><title>RE: BOA TARDE. COMO CONSIGO TRAINING API DA GARMIN PARA UM APP PARTICULAR,TENHO PROVAS REAIS QUE O APP FUNCIONA</title><link>https://forums.garmin.com/thread/2073396?ContentTypeID=1</link><pubDate>Wed, 21 Oct 2026 17:47:00 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:6870b876-fceb-4fb6-b9a2-e64684b184f2</guid><dc:creator>Ben FIT</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2073396?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/444331/boa-tarde-como-consigo-training-api-da-garmin-para-um-app-particular-tenho-provas-reais-que-o-app-funciona/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;You can apply for access to the Training API here:&lt;br /&gt;&lt;a id="" href="https://developer.garmin.com/gc-developer-program/overview/"&gt;https://developer.garmin.com/gc-developer-program/overview/&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Commercial server-side use of @garmin/fitsdk in a SaaS application</title><link>https://forums.garmin.com/thread/2073395?ContentTypeID=1</link><pubDate>Wed, 21 Oct 2026 17:45:43 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:cd227d21-35a8-4b3f-93cb-4c7223bac537</guid><dc:creator>Ben FIT</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2073395?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/446511/commercial-server-side-use-of-garmin-fitsdk-in-a-saas-application/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;The FIT JavaScript SDK is licensed under the Flexible and Interoperable Data Transfer (FIT) Protocol License Agreement.&amp;nbsp;&lt;br /&gt;&lt;a id="" href="https://github.com/garmin/fit-javascript-sdk/blob/main/LICENSE.txt"&gt;https://github.com/garmin/fit-javascript-sdk/blob/main/LICENSE.txt&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Garmin&amp;nbsp;does provide application-specific legal determinations, approvals, authorizations, or interpretations regarding compliance with the license agreement.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;That said, the agreement does not prohibit using the FIT SDK on servers to support your own application.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Commercial server-side use of @garmin/fitsdk in a SaaS application</title><link>https://forums.garmin.com/thread/446511?ContentTypeID=0</link><pubDate>Tue, 20 Oct 2026 12:29:59 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:ef5ba958-c80c-4ee5-8f91-518953c82ae3</guid><dc:creator>Bequit</dc:creator><slash:comments>1</slash:comments><comments>https://forums.garmin.com/thread/446511?ContentTypeID=0</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/446511/commercial-server-side-use-of-garmin-fitsdk-in-a-saas-application/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;Hello Garmin FIT SDK team,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I&amp;rsquo;m looking for clarification regarding the commercial use of the official JavaScript FIT SDK (&lt;/span&gt;&lt;code dir="ltr"&gt;@garmin/fitsdk&lt;/code&gt;&lt;span&gt;).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;We are developing &lt;/span&gt;&lt;strong&gt;&lt;span&gt;AltiPath&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;, a commercial endurance coaching SaaS platform.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Our intended use would be:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;install the official &lt;/span&gt;&lt;code dir="ltr"&gt;@garmin/fitsdk&lt;/code&gt;&lt;span&gt; npm package as a dependency of our &lt;/span&gt;&lt;strong&gt;&lt;span&gt;server-side Node.js application&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;use it internally to decode FIT activity files uploaded or otherwise received by our platform;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;normalize the decoded activity data into our own internal application data model;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;store and process that normalized data as part of the coaching service;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;not expose or redistribute the FIT SDK as a standalone SDK, library, developer tool, or separate product.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;I saw a recent clarification here in the FIT SDK forum indicating that the FIT SDK license allows use of the SDK in commercial software.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Could you please confirm whether the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;server-side SaaS use described above&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; is permitted under the current FIT Protocol License?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I would also appreciate clarification on the following:&lt;/span&gt;&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;span&gt;Is any additional commercial license, agreement, royalty, or approval required for this use?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Are there specific attribution or license-notice requirements we must include in our application or distribution?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Does normalizing and storing the decoded FIT activity data in our own internal data model introduce any additional FIT SDK licensing requirement?&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;We are not asking about access to Garmin Connect APIs or other Garmin services &amp;mdash; this question is specifically about the &lt;/span&gt;&lt;strong&gt;&lt;span&gt;FIT JavaScript SDK and FIT Protocol License&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you for your help,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Guillaume&lt;/span&gt;&lt;br /&gt;&lt;span&gt;AltiPath / Altitude GP&amp;sup2; Inc.&lt;/span&gt;&lt;/p&gt;</description></item><item><title>RE: Discrepancies Between FIT Files from Garmin Connect and API (API Downgraded?)</title><link>https://forums.garmin.com/thread/2073331?ContentTypeID=1</link><pubDate>Wed, 21 Oct 2026 14:48:52 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:a1e342e9-d1e1-4d30-8eb5-4e6457cfe758</guid><dc:creator>7129082</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2073331?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/432872/discrepancies-between-fit-files-from-garmin-connect-and-api-api-downgraded/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi Garmin, I&amp;#39;ve been a Garmin user for only 1 year and use third-party apps to analyze my training. Since recently, the FIT files shared with these apps no longer include metrics like VO2max, recovery time, training benefit, or lactate threshold, even though the original files still contain them. Please keep sharing my complete activity data with the apps I choose. It&amp;#39;s my data. Thank you!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Activity Profile Editor for Edge devices</title><link>https://forums.garmin.com/thread/2072577?ContentTypeID=1</link><pubDate>Sun, 18 Oct 2026 23:47:15 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:80a79f7e-eb78-43eb-844f-3206fa8ee55d</guid><dc:creator>dscurtis</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2072577?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/443113/activity-profile-editor-for-edge-devices/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;The last two updated 1.7.0 and 1.7.1 fixed two issues:&lt;/p&gt;
&lt;p&gt;1.7.0 - the GUI screen preview now shows the proportional sizes of the data fields in all of the different user defined screen layouts.&lt;/p&gt;
&lt;p&gt;1.7.1 - fixed and issue where when the layout size was reduced, the toolkit was throwing away the data fields that were now longer &amp;quot;seen&amp;quot;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;See the release notes for both for full details.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Activity Profile Editor for Edge devices</title><link>https://forums.garmin.com/thread/443113?ContentTypeID=0</link><pubDate>Mon, 31 Aug 2026 16:49:23 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:d45382b1-5923-43e9-9d88-6c3cb05bc30f</guid><dc:creator>dscurtis</dc:creator><slash:comments>8</slash:comments><comments>https://forums.garmin.com/thread/443113?ContentTypeID=0</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/443113/activity-profile-editor-for-edge-devices/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-size:150%;"&gt;For anyone who is interested in editing their Edge Activity Profile screens and data fields on a computer vs the Edge itself, this project may have what you&amp;rsquo;re looking for.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;a href="https://github.com/fullcarbonbike/Activity-Profile-Editor"&gt;github.com/.../Activity-Profile-Editor&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;I only have my own Edge 530 to test this on, so the confirmed field IDs, screen types, and layouts are all specific to that model. The underlying screen/data-field mechanism looks like it should carry over to other Edge models (same 10-field-per-screen cap, same layout patterns from what I&amp;#39;ve seen in demo videos of newer touchscreen units), but that&amp;#39;s unconfirmed without real testing on other hardware &amp;mdash; collaboration from anyone with a different model would help a lot.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;You can use it in purely a &amp;ldquo;read&amp;rdquo; mode, if you just want to start by viewing existing Profiles. The deploy method pushes the changed Activity Profile .fit files through the NewFiles folder/restart mechanism to make the changes.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Here are the features that are built into this toolkit and available in the GUI:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;- Cloning - copy an existing Activity Profile to a new name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:150%;"&gt;- Backups - backup Activity Profiles to local disk&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:150%;"&gt;- Backup pruning - delete old backups&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:150%;"&gt;- Change Screens - Add/Delete/Reorder/Hide/Layout-A/B&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:150%;"&gt;- Data Fields - Add/Delete/reorder/Modify the data fields within a screen&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:150%;"&gt;- Startup.txt - Change the text and display timer value of the boot message file&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:150%;"&gt;- Restore - restore a deleted Activity Profile if it was previously backed up by the toolkit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:150%;"&gt;- Import - import a Profile from another source or other backup method&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:150%;"&gt;- Favorite - save a favorite screen to reuse/transfer to another Activity Profile&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;The code is written in Python and uses the garmin-fit-sdk and wxPython for the GUI interface.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:150%;"&gt;There are also a set of CLI tools, in case you want to use individual aspects of the toolkit without the gui_app.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:150%;"&gt;The tools are compatible with MacOS (tested on MacOS 26) as well as Windows (tested on Win 11). It was also tested on Win 10 - 32-bit, but requires manual install of the Python version and the wxPython (see the README for those details).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Here&amp;rsquo;s a sample output of a couple of the cli tools:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;% python3 garmin_device.py detect&lt;br /&gt;Garmin device found at: /Volumes/GARMIN/Garmin&lt;br /&gt; Manufacturer: garmin&lt;br /&gt; Product: edge_530&lt;br /&gt; Serial: xxxxxxxxxxxx &amp;lt;-not showing my actual serial number&lt;br /&gt; Software version: 981&lt;/p&gt;
&lt;p&gt;% python3 fit_dump.py screens ./CyclingRoadClonebox.fit&lt;br /&gt;=== Screen order as viewed on-device (reorderable via --swap-order) ===&lt;br /&gt; POS SLOT CNT LAY FLAG TYPE FIELDS&lt;br /&gt; 1 [ 0] 6f B Screen 1 Timer, Distance, Power Graph, Heart Rate Graph, Speed, Cadence&lt;br /&gt; 2 [ 7] 7f Screen 4 Cadence Bars, Lap HR, Last Lap HR, EPOC, HR Zone Graph, Anaerobic TE, Aerobic Training Effect&lt;br /&gt; 3 [ 1] 2f Lap Summary Speed, Distance&lt;br /&gt; 4 [ 2] 0f Map &lt;br /&gt; 5 [ 3] 2f Elevation Percent Grade, Elevation (ft)&lt;br /&gt; 6 [ 8] 0f GroupTrack List &lt;br /&gt; 7 [13] 2f ClimbPro Percent Grade, Elevation (ft)&lt;br /&gt; 8 [ 4] 2f Cycling Dynamics Power Phase Left, Power Phase Right&lt;br /&gt; 9 [ 5] 2f Screen 2 Avg Speed, HR Zone Graph&lt;br /&gt; 10 [ 6] 7f Screen 3 Speed Bars, HR Bars, Power Bars, Lap HR, Last Lap HR, Lap %Max HR, Respiration&lt;br /&gt; 11 [ 9] 10f Screen 5 Lap Time, Odometer, Dest. Ahead, Lap Dist., Last Lap Speed, Total Descent, Lap Speed, Reps to Go, Lap Power, Target Power&lt;br /&gt; 12 [11] 10f Screen 6 Target, Step Time, Duration, Workout Comparison, Workout Step, Light Battery, Last Lap Power, Lap Time Standing, Lap Time Seated, Avg PCO&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Also, here&amp;#39;s a few screen shots of the GUI&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://forums.garmin.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/502/Profile_2D00_Editor_2D00_ProfileList.jpg" alt=" " /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://forums.garmin.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/502/Profile_2D00_Editor_2D00_ScreenList.jpg" alt=" " /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://forums.garmin.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/502/Profile_2D00_Editor_2D00_ScreenEdit.jpg" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>RE: Discrepancies Between FIT Files from Garmin Connect and API (API Downgraded?)</title><link>https://forums.garmin.com/thread/2072500?ContentTypeID=1</link><pubDate>Sun, 18 Oct 2026 16:07:09 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:6cef4495-c6e0-4152-bf10-c96492c0cc34</guid><dc:creator>9189891</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2072500?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/432872/discrepancies-between-fit-files-from-garmin-connect-and-api-api-downgraded/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi Garmin, I also use third party apps to analyze my training.&amp;nbsp; As others have noted, recently the FIT files shared with these apps no longer include the metrics I care about even though the original files still contain them.&amp;nbsp; Please keep sharing my complete activity data; it is my data.&amp;nbsp; The open accessibility of this data was a selling point when I bought my first watch many years ago.&amp;nbsp; It&amp;#39;s frustrating that Garmin has begun to implement such a change and this is something I consider when I am looking to buy a replacement watch.&amp;nbsp; Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discrepancies Between FIT Files from Garmin Connect and API (API Downgraded?)</title><link>https://forums.garmin.com/thread/2072431?ContentTypeID=1</link><pubDate>Sun, 18 Oct 2026 08:57:16 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:182d934c-25ea-4780-8b69-a8a5cacc915c</guid><dc:creator>Schoto</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2072431?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/432872/discrepancies-between-fit-files-from-garmin-connect-and-api-api-downgraded/rss?ContentTypeId=0</wfw:commentRss><description>&lt;blockquote class="lQkWXb" data-animation-nesting="" data-sfc-root="ep" data-epip="" data-complete="true" data-processed="true" data-sae=""&gt;
&lt;div class="n6owBd awi2gc" data-sfc-cp="" data-sfc-root="ep" data-epip="" data-hveid="CAAICRAB" data-complete="true"&gt;The reason&lt;!--TgQPHd|||[]--&gt; I bought a Garmin was&lt;!--TgQPHd|||[]--&gt; to automatically sync its well-tracked data with multiple apps. If this isn&amp;#39;t possible anymore, what reason is there left to use a Garmin?&lt;span&gt;&lt;/span&gt;&lt;!--TgQPHd|||[]--&gt;&lt;/div&gt;
&lt;div class="n6owBd awi2gc" data-sfc-cp="" data-sfc-root="ep" data-epip="" data-hveid="CAAICRAB" data-complete="true"&gt;&lt;/div&gt;
&lt;div class="n6owBd awi2gc" data-sfc-cp="" data-sfc-root="ep" data-epip="" data-hveid="CAAICRAE" data-complete="true"&gt;I assume it&amp;#39;s a bug, because manual syncing still works. Is this a new way of &amp;quot;improving&amp;quot; the customer experience&amp;mdash;by forcing me to waste more of my own energy?&lt;span&gt;&lt;/span&gt;&lt;!--TgQPHd|||[]--&gt;&lt;/div&gt;
&lt;!--TgQPHd|||[]--&gt;&lt;/blockquote&gt;
&lt;div class="yhAwj" data-sfc-cp="" data-sfc-root="ep" data-epip="" data-complete="true" data-processed="true" data-sfc-inited="2"&gt;&lt;!--TgQPHd|||[]--&gt;&lt;/div&gt;
&lt;div class="ZLzG0d ncoeY E8xBUb" data-animation-nesting="" data-sfc-cp="" data-wiz-attrbind="aria-level=rhCIOb_1l/fLk2Md" data-sfc-root="ep" data-epip="" data-complete="true" data-processed="true" data-sae=""&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discrepancies Between FIT Files from Garmin Connect and API (API Downgraded?)</title><link>https://forums.garmin.com/thread/2072260?ContentTypeID=1</link><pubDate>Sat, 17 Oct 2026 11:01:27 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:931c1111-f529-486d-ab13-5e2482055e66</guid><dc:creator>9385703</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2072260?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/432872/discrepancies-between-fit-files-from-garmin-connect-and-api-api-downgraded/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;It is my&amp;nbsp;device and my data, so please let me view it on whatever platform I wish.&amp;nbsp;I consider the openness of the platform a selling point, and will therefore strongly be considering this point whenever&amp;nbsp;I end up buying a new watch.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discrepancies Between FIT Files from Garmin Connect and API (API Downgraded?)</title><link>https://forums.garmin.com/thread/2072025?ContentTypeID=1</link><pubDate>Fri, 16 Oct 2026 12:09:24 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:8573549f-e236-42ca-a722-8c76ce36ad0f</guid><dc:creator>8027378</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2072025?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/432872/discrepancies-between-fit-files-from-garmin-connect-and-api-api-downgraded/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi Garmin, I&amp;#39;ve been a Garmin user for many years and use third-party apps to analyze my training. Since recently, the FIT files shared with these apps no longer include metrics like VO2max, recovery time, training benefit, or lactate threshold, even though the original files still contain them. Please keep sharing my complete activity data with the apps I choose. It&amp;#39;s my data. Thank you!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discrepancies Between FIT Files from Garmin Connect and API (API Downgraded?)</title><link>https://forums.garmin.com/thread/2071674?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2026 22:54:10 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:6c71444c-66b3-413b-b5e3-2ebb6d14f679</guid><dc:creator>GregRF</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2071674?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/432872/discrepancies-between-fit-files-from-garmin-connect-and-api-api-downgraded/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Count me as another user annoyed that Garmin is striping useful data out of the files.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Activity Profile Editor for Edge devices</title><link>https://forums.garmin.com/thread/2071618?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2026 19:04:15 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:fbb66635-cf9a-488e-b1dc-4adfe95383b6</guid><dc:creator>dscurtis</dc:creator><slash:comments>1</slash:comments><comments>https://forums.garmin.com/thread/2071618?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/443113/activity-profile-editor-for-edge-devices/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;The README got an update along with a few data fields that had &amp;quot;collisions&amp;quot;. The main think was describing the difference between the Connected (mass storage) mode and the Offline mode for Edge devices that use MTP. Here&amp;#39;s a section of the README file with the relevant info:&lt;/p&gt;
&lt;div class="markdown-heading" dir="auto"&gt;
&lt;h2 class="heading-element" dir="auto"&gt;Which Edge models this works with &amp;mdash; and the two ways to use it&lt;/h2&gt;
&lt;/div&gt;
&lt;p dir="auto"&gt;There are &lt;strong&gt;two workflows&lt;/strong&gt;, and which one you get depends on how your Edge connects to a computer. Both end with an edited profile on the device; they differ in who moves the file.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Connected mode&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Offline mode&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Your Edge appears as&lt;/td&gt;
&lt;td&gt;a normal disk &amp;mdash; a volume under &lt;code&gt;/Volumes&lt;/code&gt; on macOS, a drive letter on Windows&lt;/td&gt;
&lt;td&gt;a &amp;quot;Portable Device&amp;quot; (MTP), or nothing browsable on macOS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Models&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Edge 530&lt;/strong&gt; &lt;em&gt;(tested)&lt;/em&gt;, and other USB Mass Storage Edges&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Edge 840&lt;/strong&gt; &lt;em&gt;(tested)&lt;/em&gt;; &lt;strong&gt;540, 1040, 1050&lt;/strong&gt; reported as MTP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The toolkit&lt;/td&gt;
&lt;td&gt;finds the device itself&lt;/td&gt;
&lt;td&gt;asks you for a folder of &lt;code&gt;.fit&lt;/code&gt; profiles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Writing the result&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Deploy&lt;/strong&gt; &amp;mdash; straight to the device&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Export&lt;/strong&gt; &amp;mdash; to a folder, then you copy it across&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Restore from backup&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;no, it is a device operation &amp;mdash; the panel points you at your backup folder instead&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p dir="auto"&gt;Garmin moved the newer models to MTP (Media Transfer Protocol), which presents a firmware-controlled view rather than a real disk. Note this may have arrived on your device through a firmware update rather than being true when you bought it.&lt;/p&gt;
&lt;p dir="auto"&gt;Offline mode is not only for MTP devices &amp;mdash; it is also how you edit a profile you pulled last week with nothing plugged in.&lt;/p&gt;
&lt;div class="markdown-heading" dir="auto"&gt;
&lt;h3 class="heading-element" dir="auto"&gt;Connected mode, step by step&lt;/h3&gt;
&lt;/div&gt;
&lt;ol dir="auto"&gt;
&lt;li&gt;Plug the Edge in and wait for it to mount.&lt;/li&gt;
&lt;li&gt;Start the toolkit; it finds the device and lists your profiles.&lt;/li&gt;
&lt;li&gt;Edit screens, fields and layouts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deploy.&lt;/strong&gt; The toolkit backs up the original first, writes, then reads the file back and byte-compares before reporting success.&lt;/li&gt;
&lt;li&gt;Eject and restart the Edge.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="markdown-heading" dir="auto"&gt;
&lt;h3 class="heading-element" dir="auto"&gt;Offline mode, step by step&lt;/h3&gt;
Copy the profiles off the device with an MTP browser &amp;mdash;&lt;/div&gt;
&lt;ol dir="auto"&gt;
&lt;li&gt;Start the toolkit and choose &lt;strong&gt;&amp;quot;Work Without a Device&amp;hellip;&amp;quot;&lt;/strong&gt;, then point it at that folder.&lt;/li&gt;
&lt;li&gt;Edit exactly as you would with a device attached &amp;mdash; the profile list, screens view, editor, backups, Clone and the boot-message editor all work the same.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Export.&lt;/strong&gt; It writes to a folder you choose, reads the result back and byte-compares it, and checks the file&amp;#39;s own CRC before writing anything at all.&lt;/li&gt;
&lt;li&gt;Copy the exported file into &lt;code&gt;Garmin/NewFiles/&lt;/code&gt; on the device and restart the Edge.&lt;/li&gt;
&lt;/ol&gt;
&lt;p dir="auto"&gt;&lt;strong&gt;The filename matters, and the dialog handles it for you.&lt;/strong&gt; The Edge matches profiles by filename on import and silently ignores anything that does not match &amp;mdash; no error, no indication, the profile simply does not change. The save dialog pre-fills the original filename. Change it anyway and you get a warning naming the consequence, not a refusal: exporting a spare copy under another name is legitimate.&lt;/p&gt;
&lt;p dir="auto"&gt;&lt;code&gt;startup.txt&lt;/code&gt;, the custom boot message, works in both modes.&lt;/p&gt;
&lt;div class="markdown-heading" dir="auto"&gt;
&lt;h3 class="heading-element" dir="auto"&gt;Does the &lt;code&gt;NewFiles/&lt;/code&gt; route actually work over MTP?&lt;/h3&gt;
&lt;a id="user-content-does-the-newfiles-route-actually-work-over-mtp" class="anchor" href="https://github.com/fullcarbonbike/Activity-Profile-Editor/blob/main/README.md#does-the-newfiles-route-actually-work-over-mtp"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p dir="auto"&gt;&lt;strong&gt;Yes &amp;mdash; confirmed repeatedly on an Edge 840.&lt;/strong&gt; An edited ROAD profile has gone through it end to end, including a Connect IQ field that survived three chained edits, and a screen using a layout variant the 530 does not offer, which the 840 rendered correctly. A hand-built &lt;code&gt;Totals.fit&lt;/code&gt; written the same way was also accepted.&lt;/p&gt;
&lt;p dir="auto"&gt;This was an open question until v1.5.0 and is recorded here because earlier versions of this README asked readers to help answer it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discrepancies Between FIT Files from Garmin Connect and API (API Downgraded?)</title><link>https://forums.garmin.com/thread/2071456?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2026 10:54:15 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:1a20ccd3-581a-4821-bfe2-c5bc395b875e</guid><dc:creator>1683866</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2071456?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/432872/discrepancies-between-fit-files-from-garmin-connect-and-api-api-downgraded/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;This is really annoying. I found Garmin&amp;#39;s VO2 Max indicator to 1 or 2 decimal places to be a relatively reliable indicator of fitness vs. other competitor versions. Now I can&amp;#39;t see this at this level of granularity. Really reduces the value of garmin products over other&amp;nbsp;competitor products.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discrepancies Between FIT Files from Garmin Connect and API (API Downgraded?)</title><link>https://forums.garmin.com/thread/2071424?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2026 06:34:27 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:60cf03d2-04b4-427a-bdd1-6cd18ab95677</guid><dc:creator>Ocye</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2071424?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/432872/discrepancies-between-fit-files-from-garmin-connect-and-api-api-downgraded/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi Garmin, I&amp;#39;ve been a Garmin user for &amp;gt;20 years and use third-party apps to analyze my training. Since recently, the FIT files shared with these apps no longer include metrics like VO2max, recovery time, training benefit, or lactate threshold, even though the original files still contain them. Please keep sharing my complete activity data with the apps I choose. It&amp;#39;s my data. Thank you!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Discrepancies Between FIT Files from Garmin Connect and API (API Downgraded?)</title><link>https://forums.garmin.com/thread/2071401?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2026 00:14:27 GMT</pubDate><guid isPermaLink="false">a9571b57-dd57-479e-8763-8f8a603e40aa:e5b77635-49da-4076-b7e8-55817917ab77</guid><dc:creator>041c4e2a59e841a2b8da70688e323988</dc:creator><slash:comments>0</slash:comments><comments>https://forums.garmin.com/thread/2071401?ContentTypeID=1</comments><wfw:commentRss>https://forums.garmin.com/developer/fit-sdk/f/discussion/432872/discrepancies-between-fit-files-from-garmin-connect-and-api-api-downgraded/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;What the *** Garmin?&amp;nbsp; This is not a good look and will reconsider staying in your ecosystem if you keep trying to thwart access to my own data.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>