Skip to main content
Every strava.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.

Activities

create

activities.create Create a manual activity Risk: write
await corsair.strava.api.activities.create({});
Input
NameTypeRequiredDescription
namestringYes
sport_typestringYes
start_date_localstringYes
elapsed_timenumberYes
typestringNo
commutenumberNo
trainernumberNo
distancenumberNo
descriptionstringNo
Output
NameTypeRequiredDescription
idnumberYes
namestringNo
sport_typestringNo
start_datestringNo
start_date_localstringNo
elapsed_timenumberNo
moving_timenumberNo
distancenumberNo
total_elevation_gainnumberNo
timezonestringNo
descriptionstringNo
caloriesnumberNo
mapobjectNo
athleteobjectNo
gear_idstringNo
commutebooleanNo
trainerbooleanNo
manualbooleanNo
privatebooleanNo
resource_statenumberNo
kudos_countnumberNo
comment_countnumberNo
athlete_countnumberNo
photo_countnumberNo
average_speednumberNo
max_speednumberNo
average_heartratenumberNo
max_heartratenumberNo
average_wattsnumberNo
max_wattsnumberNo
kilojoulesnumberNo
device_wattsbooleanNo
has_heartratebooleanNo
elev_highnumberNo
elev_lownumberNo
pr_countnumberNo
suffer_scorenumberNo
workout_typenumberNo
start_latlngnumber[]No
end_latlngnumber[]No
upload_idnumberNo
external_idstringNo
has_kudoedbooleanNo
average_cadencenumberNo
device_namestringNo
{
  id?: string,
  polyline?: string | null,
  summary_polyline?: string | null
}
{
  id: number
}

get

activities.get Get details of an activity by ID Risk: read
await corsair.strava.api.activities.get({});
Input
NameTypeRequiredDescription
idnumberYes
include_all_effortsbooleanNo
Output
NameTypeRequiredDescription
idnumberYes
namestringNo
sport_typestringNo
start_datestringNo
start_date_localstringNo
elapsed_timenumberNo
moving_timenumberNo
distancenumberNo
total_elevation_gainnumberNo
timezonestringNo
descriptionstringNo
caloriesnumberNo
mapobjectNo
athleteobjectNo
gear_idstringNo
commutebooleanNo
trainerbooleanNo
manualbooleanNo
privatebooleanNo
resource_statenumberNo
kudos_countnumberNo
comment_countnumberNo
athlete_countnumberNo
photo_countnumberNo
average_speednumberNo
max_speednumberNo
average_heartratenumberNo
max_heartratenumberNo
average_wattsnumberNo
max_wattsnumberNo
kilojoulesnumberNo
device_wattsbooleanNo
has_heartratebooleanNo
elev_highnumberNo
elev_lownumberNo
pr_countnumberNo
suffer_scorenumberNo
workout_typenumberNo
start_latlngnumber[]No
end_latlngnumber[]No
upload_idnumberNo
external_idstringNo
has_kudoedbooleanNo
average_cadencenumberNo
device_namestringNo
{
  id?: string,
  polyline?: string | null,
  summary_polyline?: string | null
}
{
  id: number
}

getStreams

activities.getStreams Get stream data for an activity Risk: read
await corsair.strava.api.activities.getStreams({});
Input
NameTypeRequiredDescription
idnumberYes
keystime | distance | latlng | altitude | velocity_smooth | heartrate | cadence | watts | temp | moving | grade_smooth[]Yes
key_by_typebooleanNo
Output
NameTypeRequiredDescription
timeobjectNo
distanceobjectNo
latlngobjectNo
altitudeobjectNo
velocity_smoothobjectNo
heartrateobjectNo
cadenceobjectNo
wattsobjectNo
tempobjectNo
movingobjectNo
grade_smoothobjectNo
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}

getZones

activities.getZones Get heart rate and power zones for an activity Risk: read
await corsair.strava.api.activities.getZones({});
Input
NameTypeRequiredDescription
idnumberYes
Output: object[]
{
  type?: string,
  score?: number,
  distribution_buckets?: {
    min?: number,
    max?: number,
    time?: number
  }[],
  resource_state?: number,
  sensor_based?: boolean,
  points?: number,
  custom_zones?: boolean
}[]

list

activities.list List the authenticated athlete’s activities Risk: read
await corsair.strava.api.activities.list({});
Input
NameTypeRequiredDescription
beforenumberNo
afternumberNo
pagenumberNo
per_pagenumberNo
Output: object[]
{
  id: number,
  name?: string,
  sport_type?: string,
  start_date?: string,
  start_date_local?: string,
  elapsed_time?: number,
  moving_time?: number,
  distance?: number,
  total_elevation_gain?: number,
  timezone?: string,
  description?: string | null,
  calories?: number,
  map?: {
    id?: string,
    polyline?: string | null,
    summary_polyline?: string | null
  },
  athlete?: {
    id: number
  },
  gear_id?: string | null,
  commute?: boolean,
  trainer?: boolean,
  manual?: boolean,
  private?: boolean,
  resource_state?: number,
  kudos_count?: number,
  comment_count?: number,
  athlete_count?: number,
  photo_count?: number,
  average_speed?: number,
  max_speed?: number,
  average_heartrate?: number,
  max_heartrate?: number,
  average_watts?: number,
  max_watts?: number,
  kilojoules?: number,
  device_watts?: boolean,
  has_heartrate?: boolean,
  elev_high?: number,
  elev_low?: number,
  pr_count?: number,
  suffer_score?: number | null,
  workout_type?: number | null,
  start_latlng?: number[],
  end_latlng?: number[],
  upload_id?: number | null,
  external_id?: string | null,
  has_kudoed?: boolean,
  average_cadence?: number,
  device_name?: string
}[]

listComments

activities.listComments List comments on an activity Risk: read
await corsair.strava.api.activities.listComments({});
Input
NameTypeRequiredDescription
idnumberYes
pagenumberNo
per_pagenumberNo
Output: object[]
{
  id?: number,
  activity_id?: number,
  text?: string,
  athlete?: {
    id: number,
    username?: string | null,
    firstname?: string,
    lastname?: string,
    city?: string | null,
    state?: string | null,
    country?: string | null,
    sex?: string | null,
    premium?: boolean,
    summit?: boolean,
    created_at?: string,
    updated_at?: string,
    follower_count?: number,
    friend_count?: number,
    measurement_preference?: string,
    ftp?: number | null,
    weight?: number | null,
    profile?: string,
    profile_medium?: string,
    resource_state?: number,
    bikes?: {
      id: string,
      primary?: boolean,
      name?: string,
      nickname?: string,
      distance?: number,
      converted_distance?: number,
      resource_state?: number,
      retired?: boolean
    }[],
    shoes?: {
      id: string,
      primary?: boolean,
      name?: string,
      nickname?: string,
      distance?: number,
      converted_distance?: number,
      resource_state?: number,
      retired?: boolean
    }[]
  },
  created_at?: string
}[]

listKudoers

activities.listKudoers List athletes who kudoed an activity Risk: read
await corsair.strava.api.activities.listKudoers({});
Input
NameTypeRequiredDescription
idnumberYes
pagenumberNo
per_pagenumberNo
Output: object[]
{
  id?: number,
  username?: string | null,
  firstname?: string,
  lastname?: string,
  profile_medium?: string,
  profile?: string,
  resource_state?: number
}[]

listLaps

activities.listLaps List laps of an activity Risk: read
await corsair.strava.api.activities.listLaps({});
Input
NameTypeRequiredDescription
idnumberYes
Output: object[]
{
  id: number,
  activity?: {
    id?: number
  },
  athlete?: {
    id?: number
  },
  average_cadence?: number,
  average_speed?: number,
  average_heartrate?: number,
  average_watts?: number,
  device_watts?: boolean,
  distance?: number,
  elapsed_time?: number,
  end_index?: number,
  lap_index?: number,
  max_speed?: number,
  max_heartrate?: number,
  moving_time?: number,
  name?: string,
  pace_zone?: number,
  resource_state?: number,
  split?: number,
  start_date?: string,
  start_date_local?: string,
  start_index?: number,
  total_elevation_gain?: number
}[]

Athletes

get

athletes.get Get the authenticated athlete profile Risk: read
await corsair.strava.api.athletes.get({});
Input: empty object Output
NameTypeRequiredDescription
idnumberYes
usernamestringNo
firstnamestringNo
lastnamestringNo
citystringNo
statestringNo
countrystringNo
sexstringNo
premiumbooleanNo
summitbooleanNo
created_atstringNo
updated_atstringNo
follower_countnumberNo
friend_countnumberNo
measurement_preferencestringNo
ftpnumberNo
weightnumberNo
profilestringNo
profile_mediumstringNo
resource_statenumberNo
bikesobject[]No
shoesobject[]No
{
  id: string,
  primary?: boolean,
  name?: string,
  nickname?: string,
  distance?: number,
  converted_distance?: number,
  resource_state?: number,
  retired?: boolean
}[]
{
  id: string,
  primary?: boolean,
  name?: string,
  nickname?: string,
  distance?: number,
  converted_distance?: number,
  resource_state?: number,
  retired?: boolean
}[]

getStats

athletes.getStats Get an athlete’s activity statistics Risk: read
await corsair.strava.api.athletes.getStats({});
Input
NameTypeRequiredDescription
idnumberYes
Output
NameTypeRequiredDescription
biggest_ride_distancenumberNo
biggest_climb_elevation_gainnumberNo
recent_ride_totalsobjectNo
recent_run_totalsobjectNo
recent_swim_totalsobjectNo
ytd_ride_totalsobjectNo
ytd_run_totalsobjectNo
ytd_swim_totalsobjectNo
all_ride_totalsobjectNo
all_run_totalsobjectNo
all_swim_totalsobjectNo
{
  count?: number,
  distance?: number,
  moving_time?: number,
  elapsed_time?: number,
  elevation_gain?: number,
  achievement_count?: number
}
{
  count?: number,
  distance?: number,
  moving_time?: number,
  elapsed_time?: number,
  elevation_gain?: number,
  achievement_count?: number
}
{
  count?: number,
  distance?: number,
  moving_time?: number,
  elapsed_time?: number,
  elevation_gain?: number,
  achievement_count?: number
}
{
  count?: number,
  distance?: number,
  moving_time?: number,
  elapsed_time?: number,
  elevation_gain?: number,
  achievement_count?: number
}
{
  count?: number,
  distance?: number,
  moving_time?: number,
  elapsed_time?: number,
  elevation_gain?: number,
  achievement_count?: number
}
{
  count?: number,
  distance?: number,
  moving_time?: number,
  elapsed_time?: number,
  elevation_gain?: number,
  achievement_count?: number
}
{
  count?: number,
  distance?: number,
  moving_time?: number,
  elapsed_time?: number,
  elevation_gain?: number,
  achievement_count?: number
}
{
  count?: number,
  distance?: number,
  moving_time?: number,
  elapsed_time?: number,
  elevation_gain?: number,
  achievement_count?: number
}
{
  count?: number,
  distance?: number,
  moving_time?: number,
  elapsed_time?: number,
  elevation_gain?: number,
  achievement_count?: number
}

getZones

athletes.getZones Get the authenticated athlete’s heart rate and power zones Risk: read
await corsair.strava.api.athletes.getZones({});
Input: empty object Output
NameTypeRequiredDescription
heart_rateobjectNo
powerobjectNo
{
  custom_zones?: boolean,
  zones?: {
    min?: number,
    max?: number
  }[]
}
{
  zones?: {
    min?: number,
    max?: number
  }[]
}

update

athletes.update Update the authenticated athlete’s profile Risk: write
await corsair.strava.api.athletes.update({});
Input
NameTypeRequiredDescription
weightnumberNo
Output
NameTypeRequiredDescription
idnumberYes
usernamestringNo
firstnamestringNo
lastnamestringNo
citystringNo
statestringNo
countrystringNo
sexstringNo
premiumbooleanNo
summitbooleanNo
created_atstringNo
updated_atstringNo
follower_countnumberNo
friend_countnumberNo
measurement_preferencestringNo
ftpnumberNo
weightnumberNo
profilestringNo
profile_mediumstringNo
resource_statenumberNo
bikesobject[]No
shoesobject[]No
{
  id: string,
  primary?: boolean,
  name?: string,
  nickname?: string,
  distance?: number,
  converted_distance?: number,
  resource_state?: number,
  retired?: boolean
}[]
{
  id: string,
  primary?: boolean,
  name?: string,
  nickname?: string,
  distance?: number,
  converted_distance?: number,
  resource_state?: number,
  retired?: boolean
}[]

Clubs

get

clubs.get Get details of a club by ID Risk: read
await corsair.strava.api.clubs.get({});
Input
NameTypeRequiredDescription
idnumberYes
Output
NameTypeRequiredDescription
idnumberYes
namestringNo
profilestringNo
profile_mediumstringNo
descriptionstringNo
club_typestringNo
sport_typestringNo
citystringNo
statestringNo
countrystringNo
privatebooleanNo
member_countnumberNo
featuredbooleanNo
verifiedbooleanNo
urlstringNo

Gear

get

gear.get Get details of a gear item by ID Risk: read
await corsair.strava.api.gear.get({});
Input
NameTypeRequiredDescription
idstringYes
Output
NameTypeRequiredDescription
idstringYes
primarybooleanNo
namestringNo
distancenumberNo
brand_namestringNo
model_namestringNo
frame_typenumberNo
descriptionstringNo
athlete_idnumberNo
resource_statenumberNo
retiredbooleanNo
converted_distancenumberNo
notification_distancenumberNo

Routes

exportGpx

routes.exportGpx Export a route as GPX Risk: read
await corsair.strava.api.routes.exportGpx({});
Input
NameTypeRequiredDescription
idnumberYes
Output: string

exportTcx

routes.exportTcx Export a route as TCX Risk: read
await corsair.strava.api.routes.exportTcx({});
Input
NameTypeRequiredDescription
idnumberYes
Output: string

get

routes.get Get details of a route by ID Risk: read
await corsair.strava.api.routes.get({});
Input
NameTypeRequiredDescription
idnumberYes
Output
NameTypeRequiredDescription
idnumberYes
athleteobjectNo
descriptionstringNo
distancenumberNo
elevation_gainnumberNo
mapobjectNo
namestringNo
privatebooleanNo
starredbooleanNo
timestampnumberNo
typenumberNo
sub_typenumberNo
created_atstringNo
updated_atstringNo
estimated_moving_timenumberNo
segmentsany[]No
{
  id?: number
}
{
  id?: string,
  polyline?: string | null
}

getStreams

routes.getStreams Get stream data for a route Risk: read
await corsair.strava.api.routes.getStreams({});
Input
NameTypeRequiredDescription
idnumberYes
Output
NameTypeRequiredDescription
timeobjectNo
distanceobjectNo
latlngobjectNo
altitudeobjectNo
velocity_smoothobjectNo
heartrateobjectNo
cadenceobjectNo
wattsobjectNo
tempobjectNo
movingobjectNo
grade_smoothobjectNo
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}

Segment Efforts

get

segmentEfforts.get Get details of a segment effort by ID Risk: read
await corsair.strava.api.segmentEfforts.get({});
Input
NameTypeRequiredDescription
idnumberYes
Output
NameTypeRequiredDescription
idnumberYes
activity_idnumberNo
athlete_idnumberNo
segmentobjectNo
namestringNo
elapsed_timenumberNo
moving_timenumberNo
start_datestringNo
start_date_localstringNo
distancenumberNo
start_indexnumberNo
end_indexnumberNo
kom_ranknumberNo
pr_ranknumberNo
achievementsany[]No
device_wattsbooleanNo
average_wattsnumberNo
average_heartratenumberNo
max_heartratenumberNo
average_cadencenumberNo
resource_statenumberNo
{
  id?: number
}

getStreams

segmentEfforts.getStreams Get stream data for a segment effort Risk: read
await corsair.strava.api.segmentEfforts.getStreams({});
Input
NameTypeRequiredDescription
idnumberYes
keystime | distance | latlng | altitude | velocity_smooth | heartrate | cadence | watts | temp | moving | grade_smooth[]Yes
key_by_typebooleanNo
Output
NameTypeRequiredDescription
timeobjectNo
distanceobjectNo
latlngobjectNo
altitudeobjectNo
velocity_smoothobjectNo
heartrateobjectNo
cadenceobjectNo
wattsobjectNo
tempobjectNo
movingobjectNo
grade_smoothobjectNo
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}

Segments

explore

segments.explore Find popular segments within a bounding box Risk: read
await corsair.strava.api.segments.explore({});
Input
NameTypeRequiredDescription
boundsstringYes
activity_typerunning | ridingNo
min_catnumberNo
max_catnumberNo
Output
NameTypeRequiredDescription
segmentsobject[]No
{
  id?: number,
  name?: string,
  climb_category?: number,
  climb_category_desc?: string,
  avg_grade?: number,
  start_latlng?: number[],
  end_latlng?: number[],
  elev_difference?: number,
  distance?: number,
  points?: string,
  starred?: boolean,
  resource_state?: number,
  starred_date?: string | null
}[]

get

segments.get Get details of a segment by ID Risk: read
await corsair.strava.api.segments.get({});
Input
NameTypeRequiredDescription
idnumberYes
Output
NameTypeRequiredDescription
idnumberYes
namestringNo
activity_typestringNo
distancenumberNo
average_gradenumberNo
maximum_gradenumberNo
elevation_highnumberNo
elevation_lownumberNo
start_latlngnumber[]No
end_latlngnumber[]No
climb_categorynumberNo
citystringNo
statestringNo
countrystringNo
privatebooleanNo
starredbooleanNo
created_atstringNo
updated_atstringNo
total_elevation_gainnumberNo
mapobjectNo
effort_countnumberNo
athlete_countnumberNo
hazardousbooleanNo
star_countnumberNo
{
  id?: string,
  polyline?: string | null
}

getStreams

segments.getStreams Get stream data for a segment Risk: read
await corsair.strava.api.segments.getStreams({});
Input
NameTypeRequiredDescription
idnumberYes
keystime | distance | latlng | altitude | velocity_smooth | heartrate | cadence | watts | temp | moving | grade_smooth[]Yes
key_by_typebooleanNo
Output
NameTypeRequiredDescription
timeobjectNo
distanceobjectNo
latlngobjectNo
altitudeobjectNo
velocity_smoothobjectNo
heartrateobjectNo
cadenceobjectNo
wattsobjectNo
tempobjectNo
movingobjectNo
grade_smoothobjectNo
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}
{
  type?: string,
  data?: any[],
  series_type?: string,
  original_size?: number,
  resolution?: string
}

list

segments.list List the authenticated athlete’s starred segments Risk: read
await corsair.strava.api.segments.list({});
Input
NameTypeRequiredDescription
pagenumberNo
per_pagenumberNo
Output: object[]
{
  id: number,
  name?: string,
  activity_type?: string,
  distance?: number,
  average_grade?: number,
  maximum_grade?: number,
  elevation_high?: number,
  elevation_low?: number,
  start_latlng?: number[],
  end_latlng?: number[],
  climb_category?: number,
  city?: string | null,
  state?: string | null,
  country?: string | null,
  private?: boolean,
  starred?: boolean,
  created_at?: string,
  updated_at?: string,
  total_elevation_gain?: number,
  map?: {
    id?: string,
    polyline?: string | null
  },
  effort_count?: number,
  athlete_count?: number,
  hazardous?: boolean,
  star_count?: number
}[]

star

segments.star Star or unstar a segment Risk: write
await corsair.strava.api.segments.star({});
Input
NameTypeRequiredDescription
idnumberYes
starredbooleanYes
Output
NameTypeRequiredDescription
idnumberYes
namestringNo
activity_typestringNo
distancenumberNo
average_gradenumberNo
maximum_gradenumberNo
elevation_highnumberNo
elevation_lownumberNo
start_latlngnumber[]No
end_latlngnumber[]No
climb_categorynumberNo
citystringNo
statestringNo
countrystringNo
privatebooleanNo
starredbooleanNo
created_atstringNo
updated_atstringNo
total_elevation_gainnumberNo
mapobjectNo
effort_countnumberNo
athlete_countnumberNo
hazardousbooleanNo
star_countnumberNo
{
  id?: string,
  polyline?: string | null
}

Uploads

create

uploads.create Upload an activity file (FIT, TCX, GPX) Risk: write
await corsair.strava.api.uploads.create({});
Input
NameTypeRequiredDescription
fileanyYes
data_typefit | fit.gz | tcx | tcx.gz | gpx | gpx.gzYes
namestringNo
descriptionstringNo
trainerstringNo
commutestringNo
external_idstringNo
Output
NameTypeRequiredDescription
idnumberYes
external_idstringNo
errorstringNo
statusstringNo
activity_idnumberNo

get

uploads.get Get the status of an upload by ID Risk: read
await corsair.strava.api.uploads.get({});
Input
NameTypeRequiredDescription
idnumberYes
Output
NameTypeRequiredDescription
idnumberYes
external_idstringNo
errorstringNo
statusstringNo
activity_idnumberNo