strava-api-client
Version:
Another implementation of the Strava API 3.0.0
1,340 lines (1,338 loc) • 102 kB
TypeScript
/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
export interface paths {
"/athletes/{id}/stats": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Athlete Stats
* @description Returns the activity stats of an athlete. Only includes data from activities set to Everyone visibilty.
*/
get: operations["getStats"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/athlete": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Authenticated Athlete
* @description Returns the currently authenticated athlete. Tokens with profile:read_all scope will receive a detailed athlete representation; all others will receive a summary representation.
*/
get: operations["getLoggedInAthlete"];
/**
* Update Athlete
* @description Update the currently authenticated athlete. Requires profile:write scope.
*/
put: operations["updateLoggedInAthlete"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/athlete/zones": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Zones
* @description Returns the the authenticated athlete's heart rate and power zones. Requires profile:read_all.
*/
get: operations["getLoggedInAthleteZones"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/segments/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Segment
* @description Returns the specified segment. read_all scope required in order to retrieve athlete-specific segment information, or to retrieve private segments.
*/
get: operations["getSegmentById"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/segments/starred": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Starred Segments
* @description List of the authenticated athlete's starred segments. Private segments are filtered out unless requested by a token with read_all scope.
*/
get: operations["getLoggedInAthleteStarredSegments"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/segments/{id}/starred": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
/**
* Star Segment
* @description Stars/Unstars the given segment for the authenticated athlete. Requires profile:write scope.
*/
put: operations["starSegment"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/segment_efforts": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Segment Efforts
* @description Returns a set of the authenticated athlete's segment efforts for a given segment. Requires subscription.
*/
get: operations["getEffortsBySegmentId"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/segments/explore": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Explore segments
* @description Returns the top 10 segments matching a specified query.
*/
get: operations["exploreSegments"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/segment_efforts/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Segment Effort
* @description Returns a segment effort from an activity that is owned by the authenticated athlete. Requires subscription.
*/
get: operations["getSegmentEffortById"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/activities": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Create an Activity
* @description Creates a manual activity for an athlete, requires activity:write scope.
*/
post: operations["createActivity"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/activities/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Activity
* @description Returns the given activity that is owned by the authenticated athlete. Requires activity:read for Everyone and Followers activities. Requires activity:read_all for Only Me activities.
*/
get: operations["getActivityById"];
/**
* Update Activity
* @description Updates the given activity that is owned by the authenticated athlete. Requires activity:write. Also requires activity:read_all in order to update Only Me activities
*/
put: operations["updateActivityById"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/athlete/activities": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Athlete Activities
* @description Returns the activities of an athlete for a specific identifier. Requires activity:read. Only Me activities will be filtered out unless requested by a token with activity:read_all.
*/
get: operations["getLoggedInAthleteActivities"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/activities/{id}/laps": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Activity Laps
* @description Returns the laps of an activity identified by an identifier. Requires activity:read for Everyone and Followers activities. Requires activity:read_all for Only Me activities.
*/
get: operations["getLapsByActivityId"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/activities/{id}/zones": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Activity Zones
* @description Summit Feature. Returns the zones of a given activity. Requires activity:read for Everyone and Followers activities. Requires activity:read_all for Only Me activities.
*/
get: operations["getZonesByActivityId"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/activities/{id}/comments": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Activity Comments
* @description Returns the comments on the given activity. Requires activity:read for Everyone and Followers activities. Requires activity:read_all for Only Me activities.
*/
get: operations["getCommentsByActivityId"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/activities/{id}/kudos": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Activity Kudoers
* @description Returns the athletes who kudoed an activity identified by an identifier. Requires activity:read for Everyone and Followers activities. Requires activity:read_all for Only Me activities.
*/
get: operations["getKudoersByActivityId"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/clubs/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Club
* @description Returns a given club using its identifier.
*/
get: operations["getClubById"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/clubs/{id}/members": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Club Members
* @description Returns a list of the athletes who are members of a given club.
*/
get: operations["getClubMembersById"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/clubs/{id}/admins": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Club Administrators
* @description Returns a list of the administrators of a given club.
*/
get: operations["getClubAdminsById"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/clubs/{id}/activities": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Club Activities
* @description Retrieve recent activities from members of a specific club. The authenticated athlete must belong to the requested club in order to hit this endpoint. Pagination is supported. Athlete profile visibility is respected for all activities.
*/
get: operations["getClubActivitiesById"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/athlete/clubs": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Athlete Clubs
* @description Returns a list of the clubs whose membership includes the authenticated athlete.
*/
get: operations["getLoggedInAthleteClubs"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/gear/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Equipment
* @description Returns an equipment using its identifier.
*/
get: operations["getGearById"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/routes/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Route
* @description Returns a route using its identifier. Requires read_all scope for private routes.
*/
get: operations["getRouteById"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/athletes/{id}/routes": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Athlete Routes
* @description Returns a list of the routes created by the authenticated athlete. Private routes are filtered out unless requested by a token with read_all scope.
*/
get: operations["getRoutesByAthleteId"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/routes/{id}/export_gpx": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Export Route GPX
* @description Returns a GPX file of the route. Requires read_all scope for private routes.
*/
get: operations["getRouteAsGPX"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/routes/{id}/export_tcx": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Export Route TCX
* @description Returns a TCX file of the route. Requires read_all scope for private routes.
*/
get: operations["getRouteAsTCX"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/uploads": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Upload Activity
* @description Uploads a new data file to create an activity from. Requires activity:write scope.
*/
post: operations["createUpload"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/uploads/{uploadId}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Upload
* @description Returns an upload for a given identifier. Requires activity:write scope.
*/
get: operations["getUploadById"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/activities/{id}/streams": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Activity Streams
* @description Returns the given activity's streams. Requires activity:read scope. Requires activity:read_all scope for Only Me activities.
*/
get: operations["getActivityStreams"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/segment_efforts/{id}/streams": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Segment Effort Streams
* @description Returns a set of streams for a segment effort completed by the authenticated athlete. Requires read_all scope.
*/
get: operations["getSegmentEffortStreams"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/segments/{id}/streams": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Segment Streams
* @description Returns the given segment's streams. Requires read_all scope for private segments.
*/
get: operations["getSegmentStreams"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/routes/{id}/streams": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Route Streams
* @description Returns the given route's streams. Requires read_all scope for private routes.
*/
get: operations["getRouteStreams"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
schemas: {
Error: {
/** @description The code associated with this error. */
code?: string;
/** @description The specific field or aspect of the resource associated with this error. */
field?: string;
/** @description The type of resource associated with this error. */
resource?: string;
};
/** @description Encapsulates the errors that may be returned from the API. */
Fault: {
/** @description The set of specific errors associated with this fault, if any. */
errors?: components["schemas"]["Error"][];
/** @description The message of the fault. */
message?: string;
};
/** @description A roll-up of metrics pertaining to a set of activities. Values are in seconds and meters. */
ActivityTotal: {
/** @description The number of activities considered in this total. */
count?: number;
/**
* Format: float
* @description The total distance covered by the considered activities.
*/
distance?: number;
/** @description The total moving time of the considered activities. */
moving_time?: number;
/** @description The total elapsed time of the considered activities. */
elapsed_time?: number;
/**
* Format: float
* @description The total elevation gain of the considered activities.
*/
elevation_gain?: number;
/** @description The total number of achievements of the considered activities. */
achievement_count?: number;
};
/** @description A set of rolled-up statistics and totals for an athlete */
ActivityStats: {
/**
* Format: double
* @description The longest distance ridden by the athlete.
*/
biggest_ride_distance?: number;
/**
* Format: double
* @description The highest climb ridden by the athlete.
*/
biggest_climb_elevation_gain?: number;
/** @description The recent (last 4 weeks) ride stats for the athlete. */
recent_ride_totals?: components["schemas"]["ActivityTotal"];
/** @description The recent (last 4 weeks) run stats for the athlete. */
recent_run_totals?: components["schemas"]["ActivityTotal"];
/** @description The recent (last 4 weeks) swim stats for the athlete. */
recent_swim_totals?: components["schemas"]["ActivityTotal"];
/** @description The year to date ride stats for the athlete. */
ytd_ride_totals?: components["schemas"]["ActivityTotal"];
/** @description The year to date run stats for the athlete. */
ytd_run_totals?: components["schemas"]["ActivityTotal"];
/** @description The year to date swim stats for the athlete. */
ytd_swim_totals?: components["schemas"]["ActivityTotal"];
/** @description The all time ride stats for the athlete. */
all_ride_totals?: components["schemas"]["ActivityTotal"];
/** @description The all time run stats for the athlete. */
all_run_totals?: components["schemas"]["ActivityTotal"];
/** @description The all time swim stats for the athlete. */
all_swim_totals?: components["schemas"]["ActivityTotal"];
};
MetaAthlete: {
/**
* Format: int64
* @description The unique identifier of the athlete
*/
id?: number;
};
SummaryAthlete: components["schemas"]["MetaAthlete"] & {
/** @description Resource state, indicates level of detail. Possible values: 1 -> "meta", 2 -> "summary", 3 -> "detail" */
resource_state?: number;
/** @description The athlete's first name. */
firstname?: string;
/** @description The athlete's last name. */
lastname?: string;
/** @description URL to a 62x62 pixel profile picture. */
profile_medium?: string;
/** @description URL to a 124x124 pixel profile picture. */
profile?: string;
/** @description The athlete's city. */
city?: string;
/** @description The athlete's state or geographical region. */
state?: string;
/** @description The athlete's country. */
country?: string;
/**
* @description The athlete's sex.
* @enum {string}
*/
sex?: "M" | "F";
/** @description Deprecated. Use summit field instead. Whether the athlete has any Summit subscription. */
premium?: boolean;
/** @description Whether the athlete has any Summit subscription. */
summit?: boolean;
/**
* Format: date-time
* @description The time at which the athlete was created.
*/
created_at?: string;
/**
* Format: date-time
* @description The time at which the athlete was last updated.
*/
updated_at?: string;
};
MetaClub: {
/**
* Format: int64
* @description The club's unique identifier.
*/
id?: number;
/** @description Resource state, indicates level of detail. Possible values: 1 -> "meta", 2 -> "summary", 3 -> "detail" */
resource_state?: number;
/** @description The club's name. */
name?: string;
};
/**
* @description An enumeration of the types an activity may have. Note that this enumeration does not include new sport types (e.g. MountainBikeRide, EMountainBikeRide), activities with these sport types will have the corresponding activity type (e.g. Ride for MountainBikeRide, EBikeRide for EMountainBikeRide)
* @enum {string}
*/
ActivityType: "AlpineSki" | "BackcountrySki" | "Canoeing" | "Crossfit" | "EBikeRide" | "Elliptical" | "Golf" | "Handcycle" | "Hike" | "IceSkate" | "InlineSkate" | "Kayaking" | "Kitesurf" | "NordicSki" | "Ride" | "RockClimbing" | "RollerSki" | "Rowing" | "Run" | "Sail" | "Skateboard" | "Snowboard" | "Snowshoe" | "Soccer" | "StairStepper" | "StandUpPaddling" | "Surfing" | "Swim" | "Velomobile" | "VirtualRide" | "VirtualRun" | "Walk" | "WeightTraining" | "Wheelchair" | "Windsurf" | "Workout" | "Yoga";
SummaryClub: components["schemas"]["MetaClub"] & {
/** @description URL to a 60x60 pixel profile picture. */
profile_medium?: string;
/** @description URL to a ~1185x580 pixel cover photo. */
cover_photo?: string;
/** @description URL to a ~360x176 pixel cover photo. */
cover_photo_small?: string;
/**
* @description Deprecated. Prefer to use activity_types.
* @enum {string}
*/
sport_type?: "cycling" | "running" | "triathlon" | "other";
/** @description The activity types that count for a club. This takes precedence over sport_type. */
activity_types?: components["schemas"]["ActivityType"][];
/** @description The club's city. */
city?: string;
/** @description The club's state or geographical region. */
state?: string;
/** @description The club's country. */
country?: string;
/** @description Whether the club is private. */
private?: boolean;
/** @description The club's member count. */
member_count?: number;
/** @description Whether the club is featured or not. */
featured?: boolean;
/** @description Whether the club is verified or not. */
verified?: boolean;
/** @description The club's vanity URL. */
url?: string;
};
SummaryGear: {
/** @description The gear's unique identifier. */
id?: string;
/** @description Resource state, indicates level of detail. Possible values: 2 -> "summary", 3 -> "detail" */
resource_state?: number;
/** @description Whether this gear's is the owner's default one. */
primary?: boolean;
/** @description The gear's name. */
name?: string;
/**
* Format: float
* @description The distance logged with this gear.
*/
distance?: number;
};
DetailedAthlete: components["schemas"]["SummaryAthlete"] & {
/** @description The athlete's follower count. */
follower_count?: number;
/** @description The athlete's friend count. */
friend_count?: number;
/**
* @description The athlete's preferred unit system.
* @enum {string}
*/
measurement_preference?: "feet" | "meters";
/** @description The athlete's FTP (Functional Threshold Power). */
ftp?: number;
/**
* Format: float
* @description The athlete's weight.
*/
weight?: number;
/** @description The athlete's clubs. */
clubs?: components["schemas"]["SummaryClub"][];
/** @description The athlete's bikes. */
bikes?: components["schemas"]["SummaryGear"][];
/** @description The athlete's shoes. */
shoes?: components["schemas"]["SummaryGear"][];
};
ZoneRange: {
/** @description The minimum value in the range. */
min?: number;
/** @description The maximum value in the range. */
max?: number;
};
ZoneRanges: components["schemas"]["ZoneRange"][];
HeartRateZoneRanges: {
/** @description Whether the athlete has set their own custom heart rate zones */
custom_zones?: boolean;
zones?: components["schemas"]["ZoneRanges"];
};
PowerZoneRanges: {
zones?: components["schemas"]["ZoneRanges"];
};
Zones: {
heart_rate?: components["schemas"]["HeartRateZoneRanges"];
power?: components["schemas"]["PowerZoneRanges"];
};
/** @description A pair of latitude/longitude coordinates, represented as an array of 2 floating point numbers. */
LatLng: number[];
SummaryPRSegmentEffort: {
/**
* Format: int64
* @description The unique identifier of the activity related to the PR effort.
*/
pr_activity_id?: number;
/** @description The elapsed time ot the PR effort. */
pr_elapsed_time?: number;
/**
* Format: date-time
* @description The time at which the PR effort was started.
*/
pr_date?: string;
/** @description Number of efforts by the authenticated athlete on this segment. */
effort_count?: number;
};
SummarySegmentEffort: {
/**
* Format: int64
* @description The unique identifier of this effort
*/
id?: number;
/**
* Format: int64
* @description The unique identifier of the activity related to this effort
*/
activity_id?: number;
/** @description The effort's elapsed time */
elapsed_time?: number;
/**
* Format: date-time
* @description The time at which the effort was started.
*/
start_date?: string;
/**
* Format: date-time
* @description The time at which the effort was started in the local timezone.
*/
start_date_local?: string;
/**
* Format: float
* @description The effort's distance in meters
*/
distance?: number;
/** @description Whether this effort is the current best on the leaderboard */
is_kom?: boolean;
};
SummarySegment: {
/**
* Format: int64
* @description The unique identifier of this segment
*/
id?: number;
/** @description The name of this segment */
name?: string;
/** @enum {string} */
activity_type?: "Ride" | "Run";
/**
* Format: float
* @description The segment's distance, in meters
*/
distance?: number;
/**
* Format: float
* @description The segment's average grade, in percents
*/
average_grade?: number;
/**
* Format: float
* @description The segments's maximum grade, in percents
*/
maximum_grade?: number;
/**
* Format: float
* @description The segments's highest elevation, in meters
*/
elevation_high?: number;
/**
* Format: float
* @description The segments's lowest elevation, in meters
*/
elevation_low?: number;
start_latlng?: components["schemas"]["LatLng"];
end_latlng?: components["schemas"]["LatLng"];
/** @description The category of the climb [0, 5]. Higher is harder ie. 5 is Hors catégorie, 0 is uncategorized in climb_category. */
climb_category?: number;
/** @description The segments's city. */
city?: string;
/** @description The segments's state or geographical region. */
state?: string;
/** @description The segment's country. */
country?: string;
/** @description Whether this segment is private. */
private?: boolean;
athlete_pr_effort?: components["schemas"]["SummaryPRSegmentEffort"];
athlete_segment_stats?: components["schemas"]["SummarySegmentEffort"];
};
PolylineMap: {
/** @description The identifier of the map */
id?: string;
/** @description The polyline of the map, only returned on detailed representation of an object */
polyline?: string;
/** @description The summary polyline of the map */
summary_polyline?: string;
};
DetailedSegment: components["schemas"]["SummarySegment"] & {
/**
* Format: date-time
* @description The time at which the segment was created.
*/
created_at?: string;
/**
* Format: date-time
* @description The time at which the segment was last updated.
*/
updated_at?: string;
/**
* Format: float
* @description The segment's total elevation gain.
*/
total_elevation_gain?: number;
map?: components["schemas"]["PolylineMap"];
/** @description The total number of efforts for this segment */
effort_count?: number;
/** @description The number of unique athletes who have an effort for this segment */
athlete_count?: number;
/** @description Whether this segment is considered hazardous */
hazardous?: boolean;
/** @description The number of stars for this segment */
star_count?: number;
};
MetaActivity: {
/**
* Format: int64
* @description The unique identifier of the activity
*/
id?: number;
};
DetailedSegmentEffort: components["schemas"]["SummarySegmentEffort"] & {
/** @description The name of the segment on which this effort was performed */
name?: string;
activity?: components["schemas"]["MetaActivity"];
athlete?: components["schemas"]["MetaAthlete"];
/** @description The effort's moving time */
moving_time?: number;
/** @description The start index of this effort in its activity's stream */
start_index?: number;
/** @description The end index of this effort in its activity's stream */
end_index?: number;
/**
* Format: float
* @description The effort's average cadence
*/
average_cadence?: number;
/**
* Format: float
* @description The average wattage of this effort
*/
average_watts?: number;
/** @description For riding efforts, whether the wattage was reported by a dedicated recording device */
device_watts?: boolean;
/**
* Format: float
* @description The heart heart rate of the athlete during this effort
*/
average_heartrate?: number;
/**
* Format: float
* @description The maximum heart rate of the athlete during this effort
*/
max_heartrate?: number;
segment?: components["schemas"]["SummarySegment"];
/** @description The rank of the effort on the global leaderboard if it belongs in the top 10 at the time of upload */
kom_rank?: number;
/** @description The rank of the effort on the athlete's leaderboard if it belongs in the top 3 at the time of upload */
pr_rank?: number;
/** @description Whether this effort should be hidden when viewed within an activity */
hidden?: boolean;
};
ExplorerSegment: {
/**
* Format: int64
* @description The unique identifier of this segment
*/
id?: number;
/** @description The name of this segment */
name?: string;
/** @description The category of the climb [0, 5]. Higher is harder ie. 5 is Hors catégorie, 0 is uncategorized in climb_category. If climb_category = 5, climb_category_desc = HC. If climb_category = 2, climb_category_desc = 3. */
climb_category?: number;
/**
* @description The description for the category of the climb
* @enum {string}
*/
climb_category_desc?: "NC" | "4" | "3" | "2" | "1" | "HC";
/**
* Format: float
* @description The segment's average grade, in percents
*/
avg_grade?: number;
start_latlng?: components["schemas"]["LatLng"];
end_latlng?: components["schemas"]["LatLng"];
/**
* Format: float
* @description The segments's evelation difference, in meters
*/
elev_difference?: number;
/**
* Format: float
* @description The segment's distance, in meters
*/
distance?: number;
/** @description The polyline of the segment */
points?: string;
};
ExplorerResponse: {
/** @description The set of segments matching an explorer request */
segments?: components["schemas"]["ExplorerSegment"][];
};
/**
* @description An enumeration of the sport types an activity may have. Distinct from ActivityType in that it has new types (e.g. MountainBikeRide)
* @enum {string}
*/
SportType: "AlpineSki" | "BackcountrySki" | "Badminton" | "Canoeing" | "Crossfit" | "EBikeRide" | "Elliptical" | "EMountainBikeRide" | "Golf" | "GravelRide" | "Handcycle" | "HighIntensityIntervalTraining" | "Hike" | "IceSkate" | "InlineSkate" | "Kayaking" | "Kitesurf" | "MountainBikeRide" | "NordicSki" | "Pickleball" | "Pilates" | "Racquetball" | "Ride" | "RockClimbing" | "RollerSki" | "Rowing" | "Run" | "Sail" | "Skateboard" | "Snowboard" | "Snowshoe" | "Soccer" | "Squash" | "StairStepper" | "StandUpPaddling" | "Surfing" | "Swim" | "TableTennis" | "Tennis" | "TrailRun" | "Velomobile" | "VirtualRide" | "VirtualRow" | "VirtualRun" | "Walk" | "WeightTraining" | "Wheelchair" | "Windsurf" | "Workout" | "Yoga";
SummaryActivity: components["schemas"]["MetaActivity"] & {
/** @description The identifier provided at upload time */
external_id?: string;
/**
* Format: int64
* @description The identifier of the upload that resulted in this activity
*/
upload_id?: number;
athlete?: components["schemas"]["MetaAthlete"];
/** @description The name of the activity */
name?: string;
/**
* Format: float
* @description The activity's distance, in meters
*/
distance?: number;
/** @description The activity's moving time, in seconds */
moving_time?: number;
/** @description The activity's elapsed time, in seconds */
elapsed_time?: number;
/**
* Format: float
* @description The activity's total elevation gain.
*/
total_elevation_gain?: number;
/**
* Format: float
* @description The activity's highest elevation, in meters
*/
elev_high?: number;
/**
* Format: float
* @description The activity's lowest elevation, in meters
*/
elev_low?: number;
/** @description Deprecated. Prefer to use sport_type */
type?: components["schemas"]["ActivityType"];
sport_type?: components["schemas"]["SportType"];
/**
* Format: date-time
* @description The time at which the activity was started.
*/
start_date?: string;
/**
* Format: date-time
* @description The time at which the activity was started in the local timezone.
*/
start_date_local?: string;
/** @description The timezone of the activity */
timezone?: string;
start_latlng?: components["schemas"]["LatLng"];
end_latlng?: components["schemas"]["LatLng"];
/** @description The number of achievements gained during this activity */
achievement_count?: number;
/** @description The number of kudos given for this activity */
kudos_count?: number;
/** @description The number of comments for this activity */
comment_count?: number;
/** @description The number of athletes for taking part in a group activity */
athlete_count?: number;
/** @description The number of Instagram photos for this activity */
photo_count?: number;
/** @description The number of Instagram and Strava photos for this activity */
total_photo_count?: number;
map?: components["schemas"]["PolylineMap"];
/** @description Whether this activity was recorded on a training machine */
trainer?: boolean;
/** @description Whether this activity is a commute */
commute?: boolean;
/** @description Whether this activity was created manually */
manual?: boolean;
/** @description Whether this activity is private */
private?: boolean;
/** @description Whether this activity is flagged */
flagged?: boolean;
/** @description The activity's workout type */
workout_type?: number;
/** @description The unique identifier of the upload in string format */
upload_id_str?: string;
/**
* Format: float
* @description The activity's average speed, in meters per second
*/
average_speed?: number;
/**
* Format: float
* @description The activity's max speed, in meters per second
*/
max_speed?: number;
/** @description Whether the logged-in athlete has kudoed this activity */
has_kudoed?: boolean;
/** @description Whether the activity is muted */
hide_from_home?: boolean;
/** @description The id of the gear for the activity */
gear_id?: string;
/**
* Format: float
* @description The total work done in kilojoules during this activity. Rides only
*/
kilojoules?: number;
/**
* Format: float
* @description Average power output in watts during this activity. Rides only
*/
average_watts?: number;
/** @description Whether the watts are from a power meter, false if estimated */
device_watts?: boolean;
/** @description Rides with power meter data only */
max_watts?: number;
/** @description Similar to Normalized Power. Rides with power meter data only */
weighted_average_watts?: number;
};
PhotosSummary: {
/** @description The number of photos */
count?: number;
primary?: {
/** Format: int64 */
id?: number;
source?: number;
unique_id?: string;
urls?: {
[key: string]: string;
};
};
};
Split: {
/**
* Format: float
* @description The average speed of this split, in meters per second
*/
average_speed?: number;
/**
* Format: float
* @description The distance of this split, in meters
*/
distance?: number;
/** @description The elapsed time of this split, in seconds */
elapsed_time?: number;
/**
* Format: float
* @description The elevation difference of this split, in meters
*/
elevation_difference?: number;
/** @description The pacing zone of this split */
pace_zone?: number;
/** @description The moving time of this split, in seconds */
moving_time?: number;
/** @description N/A */
split?: number;
};
Lap: {
/**
* Format: int64
* @description The unique identifier of this lap
*/
id?: number;
activity?: components["schemas"]["MetaActivity"];
athlete?: components["schemas"]["MetaAthlete"];
/**
* Format: float
* @description The lap's average cadence
*/
average_cadence?: number;
/**
* Format: float
* @description The lap's average speed
*/
average_speed?: number;
/**
* Format: float
* @description The lap's distance, in meters
*/
distance?: number;
/** @description The lap's elapsed time, in seconds */
elapsed_time?: number;
/** @description The start index of this effort in its activity's stream */
start_index?: number;
/** @description The end index of this effort in its activity's stream */
end_index?: number;
/** @description The index of this lap in the activity it belongs to */
lap_index?: number;
/**
* Format: float
* @description The maximum speed of this lat, in meters per second
*/
max_speed?: number;
/** @description The lap's moving time, in seconds */
moving_time?: number;
/** @description The name of the lap */
name?: string;
/** @description The athlete's pace zone during this lap */
pace_zone?: number;
split?: number;
/**
* Format: date-time
* @description The time at which the lap was started.
*/
start_date?: string;
/**
* Format: date-time
* @description The time at which the lap was started in the local timezone.
*/
start_date_local?: string;
/**
* Format: float
* @description The elevation gain of this lap, in meters
*/
total_elevation_gain?: number;
};
DetailedActivity: components["schemas"]["SummaryActivity"] & {
/** @description The description of the activity */
description?: string;
photos?: components["schemas"]["PhotosSummary"];
gear?: components["schemas"]["SummaryGear"];
/**
* Format: float
* @description The number of kilocalories consumed during this activity
*/
calories?: number;
segment_efforts?: components["schemas"]["DetailedSegmentEffort"][];
/** @description The name of the device used to record the activity */
device_name?: string;
/** @description The token used to embed a Strava activity */
embed_token?: string;
/** @description The splits of this activity in metric units (for runs) */
splits_metric?: components["schemas"]["Split"][];
/** @description The splits of this activity in imperial units (for runs) */
splits_standard?: components["schemas"]["Split"][];
laps?: components["schemas"]["Lap"][];
best_efforts?: components["schemas"]["DetailedSegmentEffort"][];
};
UpdatableActivity: {
/** @description Whether this activity is a commute */
commute?: boolean;
/** @description Whether this activity was recorded on a training machine */
trainer?: boolean;
/** @description Whether this activity is muted */
hide_from_home?: boolean;
/** @description The description of the activity */
description?: string;