Garmin Connect Courses API

Today Garmin announced the Courses API to make it easier to send routes to a GPS: https://garmin2019news.q4web.com/newsroom/press-release-details/2020/Garmin-announces-Garmin-Connect-Courses-API-/default.aspx

The press release is clear that it's an API open to other applications - "The integration will allow users to import their route files created through third-party applications, like Strava and Komoot, and will automatically download to a compatible Garmin device". (Note the word "like" - i.e. not just those two!)

Are there any details of this API anywhere?

(Not strictly Connect IQ, but I couldn't see any other developer forum.)

Top Replies

All Replies

  • So, it looks like it's a part of the API that Garmin was charging $5000 for.

    Looks like you might have to wait for the registration page to be published.

    https://www.dcrainmaker.com/2019/04/garmin-connect-iq-summit-day-2-announcements.html

    Coming up shortly any developer with at least a hint of a business idea can request Garmin Connect API access, and do so for free. Previously, that cost $5,000.
  • Excellent - that's really promising.

    I've been running a route-planning site (cycle.travel) since 2013 and getting routes onto Garmins has always been a pain-point. This could make it much easier.

  • If you want to make it easier and more open for your site, it should provide URLs for downloading other formats like it does for GPX files.

    https://cycle.travel/gpx/151849.gpx

    (The ".gpx" at the end does appear to be necessary)

    Maybe, it does but it's not really discoverable.

    I wrote a program that makes it easy to download files from "well behaving" websites.

    https://sites.google.com/view/grouteloader

    ================

    The problem I have with Garmin Connect is the login/authorization process.

  • Yep. The problem is that there are so many variants of GPX, TCX, FIT, etc. etc. etc., and so many differences in implementation between each, that you could spend all year providing alternate forms for them. In this particular case I've provided URLs for GPX tracks because they're the most common, but doing the same for other formats would mean reimplementing every one serverside, and it's a bit niche for that.

  • There aren't that many variants that Garmin users care about. You already provide the ones useful for the Garmin devices (except for FIT ***)

    You already do the conversion. All you have to do is set up a dynamic page to select the conversion. That's  shouldn't be that difficult. Other websites do this (RWGPS and Garmin Connect, for example).

    I'm not talking about providing different formats. That's another thing.

    Providing the conversion to FIT might be a lot of work but that's not necessary*** because TCX (course) provides the same thing.

    ================================

    *** If you want to be able to use a Garmin IQ app to directly download routes from your website, you'll have to provide FIT files for the Edges.

    Creating FIT files is a bit involved. GPSBabel will do it but I don't think it does so completely (It might not carry over the course points).

  • No, it's more than that, because the other formats are generated client-side (i.e. in JavaScript). The GPX track URL is server-side (in Ruby). So it'd mean porting all the client-side code to run server-side as well - either that or starting to use NodeJS, which I really don't want to do.

    Anyway, we're getting off the original topic. :)

  • If you are doing it in Javascript, that would be a lot of work.

    =================

    It's not really off topic. 

    "API open to other applications"

    People want Garmin to make their stuff open when their own stuff isn't that open.

    Given what I do with course files from other websites, I would have set-up the conversion on the server on my own website.

    One reason I like RWGPS is that they do the conversion on the server and provide downloads as URLs. It make it easy to do all sorts of things with them.

    People can download routes using Connect IQ directly from RWGPS. To download files from your website, they have to do lots of steps.

    "Today Garmin announced the Courses API to make it easier to send routes to a GPS"

    If the website can provide (server side) the route file as FIT (for Edges) and GPX (for hiking units), they can avoid needing anything from Garmin.

    Website programmers can even use my Garmin IQ app to provide access to routes on their website (without needing to write their own IQ app). 

    https://apps.garmin.com/en-US/apps/f03dbbbc-c4b8-4da8-af9c-f262af8c2d0e

  • Good idea but when transfering a Strava Route with Garmin Connect application, elevation of route seen by edge is way wrong, 1.5x-2x than the original Strava route. If if transfert the same Strava Route with Strava Route application on edge, elevation is almost the same that strava route ...

    By the way, routes created with Garmin Connect are also very false for elevation, 1.5-2x more than reality, really useless !