CorrConnectDocs
Early accessRequest access

Guides

Workout files

During early access, files and summaries that athletes add themselves are where activities come from. Your app reads the results; it never uploads on an athlete's behalf.

Who uploads

Uploads and imports happen in the athlete's own CorrConnect account, signed in to the portal. Developer tokens can't call the upload or import routes; the API is read-only for apps. When a file lands, every app the athlete has granted activities:read gets activity.created for each record in it.

Supported files

FormatWhat CorrConnect readsBecomes
GPX 1.1Tracks with timed segments; 1 to 20 tracks per fileOne gpx record per track
TCX v2Activities with laps; sport Running, Biking or Other; 1 to 20 per fileOne tcx record per activity
FITActivity files with session and lap messages; up to 20 sessionsOne fit record per session

Every file must be under 2 MB, and an athlete can upload 20 files an hour. Every time in a GPX or TCX file needs a full date, seconds and a timezone, and each GPX or TCX activity must last more than zero seconds and at most 48 hours. CorrConnect rejects XML with a DOCTYPE or entity declarations, and files that are deeply nested or have too many points.

Duplicates

Uploading the exact same file again creates nothing: the upload answers duplicate: true and no events are sent. The check is on the file's bytes, so a re-export of the same workout with any change counts as a new file and creates new records. Match on started_at, duration_seconds and activity_type if your app needs to spot those.

JSON summaries

Athletes can also import up to 100 summaries at a time (20 imports an hour), each with activity_type, started_at with an offset, duration_seconds (1 to 172,800) and optionally distance_meters (up to 1,000,000) and title (up to 120 characters). These arrive as source: manual_json. Imports are not de-duplicated.

What your app receives

A summary per activity, described in the data model. In particular:

  • No GPS points. Positions are checked to be valid coordinates, then discarded.
  • No per-second streams of heart rate, power or cadence.
  • No copy of the file, and no download endpoint.

If your product needs the original file or the full stream, tell us at [email protected] what you'd do with it. Requests like that decide what we build next.