Strava API
This API client was generated by the swagger-codegen project. By using the swagger-spec from a remote server, you can easily generate an API client.
- API version: 3.0.0
- Package version: 1.0.0
- Build package: io.swagger.codegen.languages.GoClientCodegen
Put the package under your project folder and add the following in import:
import "./strava"
All URIs are relative to https://www.strava.com/api/v3
Class | Method | HTTP request | Description |
---|---|---|---|
ActivitiesApi | CreateActivity | Post /activities | Create an Activity |
ActivitiesApi | GetActivityById | Get /activities/{id} | Get Activity |
ActivitiesApi | GetCommentsByActivityId | Get /activities/{id}/comments | List Activity Comments |
ActivitiesApi | GetKudoersByActivityId | Get /activities/{id}/kudos | List Activity Kudoers |
ActivitiesApi | GetLapsByActivityId | Get /activities/{id}/laps | List Activity Laps |
ActivitiesApi | GetLoggedInAthleteActivities | Get /athlete/activities | List Athlete Activities |
ActivitiesApi | GetZonesByActivityId | Get /activities/{id}/zones | Get Activity Zones |
ActivitiesApi | UpdateActivityById | Put /activities/{id} | Update Activity |
AthletesApi | GetLoggedInAthlete | Get /athlete | Get Authenticated Athlete |
AthletesApi | GetLoggedInAthleteZones | Get /athlete/zones | Get Zones |
AthletesApi | GetStats | Get /athletes/{id}/stats | Get Athlete Stats |
AthletesApi | UpdateLoggedInAthlete | Put /athlete | Update Athlete |
ClubsApi | GetClubActivitiesById | Get /clubs/{id}/activities | List Club Activities |
ClubsApi | GetClubAdminsById | Get /clubs/{id}/admins | List Club Administrators. |
ClubsApi | GetClubById | Get /clubs/{id} | Get Club |
ClubsApi | GetClubMembersById | Get /clubs/{id}/members | List Club Members |
ClubsApi | GetLoggedInAthleteClubs | Get /athlete/clubs | List Athlete Clubs |
GearsApi | GetGearById | Get /gear/{id} | Get Equipment |
RoutesApi | GetRouteAsGPX | Get /routes/{id}/export_gpx | Export Route GPX |
RoutesApi | GetRouteAsTCX | Get /routes/{id}/export_tcx | Export Route TCX |
RoutesApi | GetRouteById | Get /routes/{id} | Get Route |
RoutesApi | GetRoutesByAthleteId | Get /athletes/{id}/routes | List Athlete Routes |
RunningRacesApi | GetRunningRaceById | Get /running_races/{id} | Get Running Race |
RunningRacesApi | GetRunningRaces | Get /running_races | List Running Races |
SegmentEffortsApi | GetEffortsBySegmentId | Get /segments/{id}/all_efforts | List Segment Efforts |
SegmentEffortsApi | GetSegmentEffortById | Get /segment_efforts/{id} | Get Segment Effort |
SegmentsApi | ExploreSegments | Get /segments/explore | Explore segments |
SegmentsApi | GetLeaderboardBySegmentId | Get /segments/{id}/leaderboard | Get Segment Leaderboard |
SegmentsApi | GetLoggedInAthleteStarredSegments | Get /segments/starred | List Starred Segments |
SegmentsApi | GetSegmentById | Get /segments/{id} | Get Segment |
SegmentsApi | StarSegment | Put /segments/{id}/starred | Star Segment |
StreamsApi | GetActivityStreams | Get /activities/{id}/streams | Get Activity Streams |
StreamsApi | GetRouteStreams | Get /routes/{id}/streams | Get Route Streams |
StreamsApi | GetSegmentEffortStreams | Get /segment_efforts/{id}/streams | Get Segment Effort Streams |
StreamsApi | GetSegmentStreams | Get /segments/{id}/streams | Get Segment Streams |
UploadsApi | CreateUpload | Post /uploads | Upload Activity |
UploadsApi | GetUploadById | Get /uploads/{uploadId} | Get Upload |
- ActivityStats
- ActivityTotal
- ActivityType
- ActivityZone
- BaseStream
- Comment
- ExplorerResponse
- ExplorerSegment
- Fault
- HeartRateZoneRanges
- Lap
- LatLng
- MetaActivity
- MetaAthlete
- MetaClub
- ModelError
- PhotosSummary
- PhotosSummaryPrimary
- PolylineMap
- PowerZoneRanges
- Route
- RouteDirection
- RunningRace
- SegmentLeaderboard
- SegmentLeaderboardEntry
- Split
- StreamSet
- SummaryGear
- SummarySegment
- SummarySegmentEffort
- TimedZoneDistribution
- UpdatableActivity
- Upload
- ZoneRange
- ZoneRanges
- Zones
- AltitudeStream
- CadenceStream
- DetailedGear
- DetailedSegment
- DetailedSegmentEffort
- DistanceStream
- HeartrateStream
- LatLngStream
- MovingStream
- PowerStream
- SmoothGradeStream
- SmoothVelocityStream
- SummaryActivity
- SummaryAthlete
- SummaryClub
- TemperatureStream
- TimeStream
- TimedZoneRange
- DetailedActivity
- DetailedAthlete
- DetailedClub
- Type: OAuth
- Flow: accessCode
- Authorization URL: https://www.strava.com/api/v3/oauth/authorize
- Scopes:
- read: Read public segments, public routes, public profile data, public posts, public events, club feeds, and leaderboards
- read_all: Read private routes, private segments, and private events for the user
- profile:read_all: Read all profile information even if the user has set their profile visibility to Followers or Only You
- profile:write: Update the user's weight and Functional Threshold Power (FTP), and access to star or unstar segments on their behalf
- activity:read: Read the user's activity data for activities that are visible to Everyone and Followers, excluding privacy zone data
- activity:read_all: The same access as activity:read, plus privacy zone data and access to read the user's activities with visibility set to Only You
- activity:write: Access to create manual activities and uploads, and access to edit any activities that are visible to the app, based on activity read access level
Example
auth := context.WithValue(context.Background(), sw.ContextAccessToken, "ACCESSTOKENSTRING")
r, err := client.Service.Operation(auth, args)
Or via OAuth2 module to automatically refresh tokens and perform user authentication.
import "golang.org/x/oauth2"
/* Perform OAuth2 round trip request and obtain a token */
tokenSource := oauth2cfg.TokenSource(createContext(httpClient), &token)
auth := context.WithValue(oauth2.NoContext, sw.ContextOAuth2, tokenSource)
r, err := client.Service.Operation(auth, args)