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:
-
The file you can manually download from Garmin Connect
What's being filtered?
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—likely explaining the missing of several message numbers, session and lap fields we're now seeing.