Workout ID Changes - TrainingPeaks/PartnersAPI GitHub Wiki
Workout ID changes from Int32 to Int64
Completed, 4/2022 to 5/2023
Old v1 workout endpoints have been removed and deprecated
- WorkoutId, and a few related identifiers, will change from from 32 bit integers to 64 bit integers
- Existing workout IDs will remain as 32 bit integers, and new workout IDs will begin to exceed 32 bits sometime after 2022-11-15
The following identifiers are changing from 32 bit to 64 bit integers
- Workout.Id
- WorkoutMeanMaxes.WorkoutId
- WorkoutDetailsData.WorkoutId
- WorkoutTimeInZones.WorkoutId
- TimeInTrainingZones.Id
- AthleteEvent.WorkoutIds
- FileStatus.WorkoutIds
The following endpoint URLs are changing
- Increment API version number
- Change
{workoutId:int}parameters to{workoutId:long} - New endpoints return models with the identifier changes mentioned above
| Method | Old Path | New Path |
|---|---|---|
| GET | /v1/workouts/changes/{sinceDate:datetime} | /v2/workouts/changes/{sinceDate:datetime} |
| GET | /v1/workouts/changes/{athleteId:int}/{sinceDate:datetime} | /v2/workouts/changes/{athleteId:int}/{sinceDate:datetime} |
| GET | /v1/workouts/changed | /v2/workouts/changed |
| GET | /v1/workouts/{athleteId:int}/changed | /v2/workouts/{athleteId:int}/changed |
| GET | /v1/workouts/id/{workoutId:int} | /v2/workouts/id/{workoutId:long} |
| GET | /v1/workouts/{athleteId:int}/id/{workoutId:int} | /v2/workouts/{athleteId:int}/id/{workoutId:long} |
| GET | /v1/workouts/id/{workoutId:int}/meanmaxes | /v2/workouts/id/{workoutId:long}/meanmaxes |
| GET | /v1/workouts/{athleteId:int}/id/{workoutId:int}/meanmaxes | /v2/workouts/{athleteId:int}/id/{workoutId:long}/meanmaxes |
| GET | /v1/workouts/id/{workoutId:int}/timeinzones | /v2/workouts/id/{workoutId:long}/timeinzones |
| GET | /v1/workouts/{athleteId:int}/id/{workoutId:int}/timeinzones | /v2/workouts/{athleteId:int}/id/{workoutId:long}/timeinzones |
| GET | /v1/workouts/id/{workoutId:int}/details | /v2/workouts/id/{workoutId:long}/details |
| GET | /v1/workouts/{athleteId:int}/id/{workoutId:int}/details | /v2/workouts/{athleteId:int}/id/{workoutId:long}/details |
| GET | /v1/workouts/{startDate:datetime}/{endDate:datetime} | /v2/workouts/{startDate:datetime}/{endDate:datetime} |
| GET | /v1/workouts/{athleteId:int}/{startDate:datetime}/{endDate:datetime} | /v2/workouts/{athleteId:int}/{startDate:datetime}/{endDate:datetime} |
| DELETE | /v1/workouts/id/{workoutId:int} | /v2/workouts/id/{workoutId:long} |
| DELETE | /v1/workouts/{athleteId:int}/id/{workoutId:int} | /v2/workouts/{athleteId:int}/id/{workoutId:long} |
| POST | /v1/workouts/plan | /v2/workouts/plan |
| PUT | /v1/workouts/plan/{workoutId:int} | /v2/workouts/plan/{workoutId:long} |
| GET | /v1/workouts/wod/{date:datetime} | /v2/workouts/wod/{date:datetime} |
| GET | /v1/workouts/wod/file/{workoutId:int} | /v2/workouts/wod/file/{workoutId:long} |
| POST | /v1/file | /v2/file/synchronous |
| POST | /v2/file | /v3/file |
| GET | /v2/status/{fileTrackingId} | /v3/status/{fileTrackingId} |
| GET | /v1/events/next | /v2/events/next |
| GET | /v1/events/{date:datetime} | /v2/events/{date:datetime} |
| POST | /v1/events | /v2/events |