---
title: "Get exercise TCX"
method: GET
path: "/v3/exercises/{exerciseId}/tcx"
tags: ["Exercises"]
---

# Get exercise TCX

`GET /v3/exercises/{exerciseId}/tcx`

## Request

- Base URL: `https://www.polaraccesslink.com`
- URL: `https://www.polaraccesslink.com/v3/exercises/{exerciseId}/tcx`
- Auth: OAuth 2
  - Authorization code: `https://flow.polar.com/oauth2/authorization`
  - Token URL: `https://polarremote.com/v2/oauth2/token` scopes: `accesslink.read_all`
- TypeScript: <https://skmtc.dev/polar-com/apis/polar-accesslink-api/docs/v3/exercises/:exerciseId/tcx/get.ts> (a function with typed inputs; its response is checked against the schema)

TCX file for users exercise without an AccessLink "transaction". Only Exercises uploaded to Flow in the last 30 days are available. Only exercises that have been uploaded to Flow after the user is registered with your client will be available.

## Path parameters

- `exerciseId` string, required

## Response `200`

Return gzipped TCX.

## Other responses

- `403`: User has not accepted all mandatory consents.
- `404`: Exercise not found.

## Changes

- **2025-06-04** `5ef2cea678a2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/polar-com/apis/polar-accesslink-api/changes/v3/exercises/:exerciseId/tcx/get.md)

---

[API](https://skmtc.dev/polar-com/apis/polar-accesslink-api.md) - [All operations](https://skmtc.dev/polar-com/apis/polar-accesslink-api/llms.txt) - [OpenAPI document](https://skmtc.dev/polar-com/apis/polar-accesslink-api/revisions/18ce96365320?raw)
