public class Strava extends Object implements ActivityService, AthleteService, ClubService, GearService, SegmentEffortService, SegmentService, StreamService, UploadService, WebhookService
Convenience class for simplicity of access to the services. Provides a facade which delegates all service methods to elsewhere
| Constructor and Description |
|---|
Strava(Token token)
Constructor requires a token
|
| Modifier and Type | Method and Description |
|---|---|
StravaUploadResponse |
checkUploadStatus(Integer uploadId)
Upon upload, Strava will respond with an upload ID.
|
CompletableFuture<StravaUploadResponse> |
checkUploadStatusAsync(Integer uploadId)
Upon upload, Strava will respond with an upload ID.
|
void |
clearCache()
Clear any and all cached data entries
|
StravaComment |
createComment(Integer activityId,
String text)
Create a comment on an activity.
|
CompletableFuture<StravaComment> |
createCommentAsync(Integer activityId,
String text)
Create a comment on an activity.
|
StravaActivity |
createManualActivity(StravaActivity activity)
This API endpoint is for creating manually entered
activities. |
CompletableFuture<StravaActivity> |
createManualActivityAsync(StravaActivity activity)
This API endpoint is for creating manually entered
activities. |
StravaEventSubscription |
createSubscription(StravaEventSubscription subscription,
String verifyToken)
Creates a subscription to an allowed event
|
CompletableFuture<StravaEventSubscription> |
createSubscriptionAsync(StravaEventSubscription subscription,
String verifyToken)
Creates a subscription to an allowed event
|
TokenResponse |
deauthorise(Token accessToken) |
StravaActivity |
deleteActivity(Integer activityId)
Deletes the identified
StravaActivity |
CompletableFuture<StravaActivity> |
deleteActivityAsync(Integer activityId)
Deletes the identified
StravaActivity |
void |
deleteComment(Integer activityId,
Integer commentId)
Delete a comment belonging to the authenticated user
|
void |
deleteComment(StravaComment comment)
Delete a comment belonging to the authenticated user
|
CompletableFuture<Void> |
deleteCommentAsync(Integer activityId,
Integer commentId)
Delete a comment belonging to the authenticated user
|
CompletableFuture<Void> |
deleteCommentAsync(StravaComment comment)
Delete a comment belonging to the authenticated user
|
void |
deleteSubscription(Integer id)
This request is used to unsubscribe from events.
|
CompletableFuture<Void> |
deleteSubscriptionAsync(Integer id)
This request is used to unsubscribe from events.
|
StravaActivity |
getActivity(Integer activityId)
StravaActivity details, including segment efforts, splits and best efforts, are only available to the owner of the activity.
|
StravaActivity |
getActivity(Integer activityId,
Boolean includeAllEfforts)
StravaActivity details, including segment efforts, splits and best efforts, are only available to the owner of the activity.
|
CompletableFuture<StravaActivity> |
getActivityAsync(Integer activityId)
StravaActivity details, including segment efforts, splits and best efforts, are only available to the owner of the activity.
|
CompletableFuture<StravaActivity> |
getActivityAsync(Integer activityId,
Boolean includeAllEfforts)
StravaActivity details, including segment efforts, splits and best efforts, are only available to the owner of the activity.
|
List<StravaStream> |
getActivityStreams(Integer activityId)
Streams represent the raw data of the uploaded file.
|
List<StravaStream> |
getActivityStreams(Integer activityId,
StravaStreamResolutionType resolution,
StravaStreamSeriesDownsamplingType seriesType,
StravaStreamType... types)
Streams represent the raw data of the uploaded file.
|
CompletableFuture<List<StravaStream>> |
getActivityStreamsAsync(Integer activityId)
Streams represent the raw data of the uploaded file.
|
CompletableFuture<List<StravaStream>> |
getActivityStreamsAsync(Integer activityId,
StravaStreamResolutionType resolution,
StravaStreamSeriesDownsamplingType seriesType,
StravaStreamType... types)
Streams represent the raw data of the uploaded file.
|
StravaSegmentLeaderboard |
getAllSegmentLeaderboard(Integer segmentId)
USE WITH CAUTION - POPULAR SEGMENTS CAN HAVE TENS OF THOUSANDS OF ATHLETES ON THE LEADERBOARD, REQUIRING A VERY LARGE NUMBER OF CALLS TO THE STRAVA API
|
StravaSegmentLeaderboard |
getAllSegmentLeaderboard(Integer segmentId,
StravaGender gender,
StravaAgeGroup ageGroup,
StravaWeightClass weightClass,
Boolean following,
Integer clubId,
StravaLeaderboardDateRange dateRange)
USE WITH CAUTION - POPULAR SEGMENTS CAN HAVE TENS OF THOUSANDS OF ATHLETES ON THE LEADERBOARD, REQUIRING A VERY LARGE NUMBER OF CALLS TO THE STRAVA API
|
CompletableFuture<StravaSegmentLeaderboard> |
getAllSegmentLeaderboardAsync(Integer segmentId)
USE WITH CAUTION - POPULAR SEGMENTS CAN HAVE TENS OF THOUSANDS OF ATHLETES ON THE LEADERBOARD, REQUIRING A VERY LARGE NUMBER OF CALLS TO THE STRAVA API
|
CompletableFuture<StravaSegmentLeaderboard> |
getAllSegmentLeaderboardAsync(Integer segmentId,
StravaGender gender,
StravaAgeGroup ageGroup,
StravaWeightClass weightClass,
Boolean following,
Integer clubId,
StravaLeaderboardDateRange dateRange)
USE WITH CAUTION - POPULAR SEGMENTS CAN HAVE TENS OF THOUSANDS OF ATHLETES ON THE LEADERBOARD, REQUIRING A VERY LARGE NUMBER OF CALLS TO THE STRAVA API
|
StravaAthlete |
getAthlete(Integer athleteId)
This request is used to retrieve information about any
athlete on Strava. |
CompletableFuture<StravaAthlete> |
getAthleteAsync(Integer athleteId)
This request is used to retrieve information about any
athlete on Strava. |
StravaAthlete |
getAuthenticatedAthlete()
This request is used to retrieve information about the currently authenticated
athlete. |
CompletableFuture<StravaAthlete> |
getAuthenticatedAthleteAsync()
This request is used to retrieve information about the currently authenticated
athlete. |
StravaAthleteZones |
getAuthenticatedAthleteZones()
Returns the current athlete’s heart rate zones.
|
CompletableFuture<StravaAthleteZones> |
getAuthenticatedAthleteZonesAsync()
Returns the current athlete’s heart rate zones.
|
StravaClub |
getClub(Integer clubId)
Retrieve details about a specific
club. |
CompletableFuture<StravaClub> |
getClubAsync(Integer clubId)
Retrieve details about a specific
club. |
List<StravaStream> |
getEffortStreams(Long segmentEffortId)
A
segment effort represents an attempt on a segment. |
List<StravaStream> |
getEffortStreams(Long segmentEffortId,
StravaStreamResolutionType resolution,
StravaStreamSeriesDownsamplingType seriesType,
StravaStreamType... types)
A
segment effort represents an attempt on a segment. |
CompletableFuture<List<StravaStream>> |
getEffortStreamsAsync(Long effortId)
A
segment effort represents an attempt on a segment. |
CompletableFuture<List<StravaStream>> |
getEffortStreamsAsync(Long effortId,
StravaStreamResolutionType resolution,
StravaStreamSeriesDownsamplingType seriesType,
StravaStreamType... types)
A
segment effort represents an attempt on a segment. |
StravaGear |
getGear(String gearId)
Retrieve details about a specific item of
StravaGear. |
CompletableFuture<StravaGear> |
getGearAsync(String gearId)
Retrieve details about a specific item of
StravaGear. |
StravaSegment |
getSegment(Integer segmentId)
Retrieve details about a specific
segment. |
CompletableFuture<StravaSegment> |
getSegmentAsync(Integer segmentId)
Retrieve details about a specific
segment. |
StravaSegmentEffort |
getSegmentEffort(Long segmentEffortId)
Retrieve details about a specific segment effort.
|
CompletableFuture<StravaSegmentEffort> |
getSegmentEffortAsync(Long segmentEffortId)
Retrieve details about a specific segment effort.
|
StravaSegmentLeaderboard |
getSegmentLeaderboard(Integer segmentId)
|
StravaSegmentLeaderboard |
getSegmentLeaderboard(Integer segmentId,
Paging pagingInstruction)
|
StravaSegmentLeaderboard |
getSegmentLeaderboard(Integer segmentId,
StravaGender gender,
StravaAgeGroup ageGroup,
StravaWeightClass weightClass,
Boolean following,
Integer clubId,
StravaLeaderboardDateRange dateRange,
Paging pagingInstruction,
Integer contextEntries)
|
CompletableFuture<StravaSegmentLeaderboard> |
getSegmentLeaderboardAsync(Integer segmentId)
|
CompletableFuture<StravaSegmentLeaderboard> |
getSegmentLeaderboardAsync(Integer segmentId,
Paging pagingInstruction)
|
CompletableFuture<StravaSegmentLeaderboard> |
getSegmentLeaderboardAsync(Integer segmentId,
StravaGender gender,
StravaAgeGroup ageGroup,
StravaWeightClass weightClass,
Boolean following,
Integer clubId,
StravaLeaderboardDateRange dateRange,
Paging pagingInstruction,
Integer contextEntries)
|
List<StravaStream> |
getSegmentStreams(Integer segmentId)
Retrieve detailed geographical information streams about a specific
StravaSegment. |
List<StravaStream> |
getSegmentStreams(Integer segmentId,
StravaStreamResolutionType resolution,
StravaStreamSeriesDownsamplingType seriesType,
StravaStreamType... types)
Retrieve detailed geographical information streams about a specific
StravaSegment. |
CompletableFuture<List<StravaStream>> |
getSegmentStreamsAsync(Integer segmentId)
Retrieve detailed geographical information streams about a specific
StravaSegment. |
CompletableFuture<List<StravaStream>> |
getSegmentStreamsAsync(Integer segmentId,
StravaStreamResolutionType resolution,
StravaStreamSeriesDownsamplingType seriesType,
StravaStreamType... types)
Retrieve detailed geographical information streams about a specific
StravaSegment. |
void |
giveKudos(Integer activityId)
Kudo an activity (kudo is given by the authenticated athlete).
|
CompletableFuture<Void> |
giveKudosAsync(Integer activityId)
Kudo an activity (kudo is given by the authenticated athlete).
|
boolean |
hasAuthorisationScopes(AuthorisationScope... scopes) |
boolean |
hasExactAuthorisationScopes(AuthorisationScope... scopes) |
StravaClubMembershipResponse |
joinClub(Integer clubId)
Join a club on behalf of the authenticated user.
|
CompletableFuture<StravaClubMembershipResponse> |
joinClubAsync(Integer clubId)
Join a club on behalf of the authenticated user.
|
StravaClubMembershipResponse |
leaveClub(Integer clubId)
Leave a club on behalf of the authenticated user.
|
CompletableFuture<StravaClubMembershipResponse> |
leaveClubAsync(Integer clubId)
Leave a club on behalf of the authenticated user.
|
List<StravaComment> |
listActivityComments(Integer activityId)
Comments on an activity can be viewed by any user.
|
List<StravaComment> |
listActivityComments(Integer activityId,
Boolean markdown)
Comments on an activity can be viewed by any user.
|
List<StravaComment> |
listActivityComments(Integer activityId,
Boolean markdown,
Paging pagingInstruction)
Comments on an activity can be viewed by any user.
|
List<StravaComment> |
listActivityComments(Integer activityId,
Paging pagingInstruction)
Comments on an activity can be viewed by any user.
|
CompletableFuture<List<StravaComment>> |
listActivityCommentsAsync(Integer activityId)
Comments on an activity can be viewed by any user.
|
CompletableFuture<List<StravaComment>> |
listActivityCommentsAsync(Integer activityId,
Boolean markdown)
Comments on an activity can be viewed by any user.
|
CompletableFuture<List<StravaComment>> |
listActivityCommentsAsync(Integer activityId,
Boolean markdown,
Paging pagingInstruction)
Comments on an activity can be viewed by any user.
|
CompletableFuture<List<StravaComment>> |
listActivityCommentsAsync(Integer activityId,
Paging pagingInstruction)
Comments on an activity can be viewed by any user.
|
List<StravaAthlete> |
listActivityKudoers(Integer activityId)
A kudos is Strava's version of a 'like' or '+1'.
|
List<StravaAthlete> |
listActivityKudoers(Integer activityId,
Paging pagingInstruction)
A kudos is Strava's version of a 'like' or '+1'.
|
CompletableFuture<List<StravaAthlete>> |
listActivityKudoersAsync(Integer activityId)
A kudos is Strava's version of a 'like' or '+1'.
|
CompletableFuture<List<StravaAthlete>> |
listActivityKudoersAsync(Integer activityId,
Paging pagingInstruction)
A kudos is Strava's version of a 'like' or '+1'.
|
List<StravaLap> |
listActivityLaps(Integer activityId)
This resource will return all laps for an activity.
|
CompletableFuture<List<StravaLap>> |
listActivityLapsAsync(Integer activityId)
This resource will return all laps for an activity.
|
List<StravaPhoto> |
listActivityPhotos(Integer activityId)
Photos are external objects associated with an activity.
|
CompletableFuture<List<StravaPhoto>> |
listActivityPhotosAsync(Integer activityId)
Photos are external objects associated with an activity.
|
List<StravaActivityZone> |
listActivityZones(Integer activityId)
Heartrate and power zones are set by the
athlete. |
CompletableFuture<List<StravaActivityZone>> |
listActivityZonesAsync(Integer activityId)
Heartrate and power zones are set by the
athlete. |
List<StravaComment> |
listAllActivityComments(Integer activityId)
USE WITH CAUTION - ACTIVITIES WITH MANY COMMENTS WILL REQUIRE MANY CALLS TO THE STRAVA API
|
CompletableFuture<List<StravaComment>> |
listAllActivityCommentsAsync(Integer activityId)
USE WITH CAUTION - ACTIVITIES WITH MANY COMMENTS WILL REQUIRE MANY CALLS TO THE STRAVA API
|
List<StravaAthlete> |
listAllActivityKudoers(Integer activityId)
USE WITH CAUTION - ACTIVITIES WITH MANY KUDOERS WILL REQUIRE MANY CALLS TO THE STRAVA API
|
CompletableFuture<List<StravaAthlete>> |
listAllActivityKudoersAsync(Integer activityId)
USE WITH CAUTION - ACTIVITIES WITH MANY KUDOERS WILL REQUIRE MANY CALLS TO THE STRAVA API
|
List<StravaAthlete> |
listAllAthleteFriends(Integer athleteId)
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS WILL REQUIRE MANY CALLS TO THE STRAVA API
|
CompletableFuture<List<StravaAthlete>> |
listAllAthleteFriendsAsync(Integer athleteId)
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS WILL REQUIRE MANY CALLS TO THE STRAVA API
|
List<StravaSegmentEffort> |
listAllAthleteKOMs(Integer athleteId)
USE WITH CAUTION - ATHLETES WITH MANY KOMS WILL REQUIRE MANY CALLS TO THE STRAVA API
|
CompletableFuture<List<StravaSegmentEffort>> |
listAllAthleteKOMsAsync(Integer athleteId)
USE WITH CAUTION - ATHLETES WITH MANY KOMS WILL REQUIRE MANY CALLS TO THE STRAVA API
|
List<StravaAthlete> |
listAllAthletesBothFollowing(Integer athleteId)
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS WILL REQUIRE MANY CALLS TO THE STRAVA API
|
CompletableFuture<List<StravaAthlete>> |
listAllAthletesBothFollowingAsync(Integer athleteId)
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS WILL REQUIRE MANY CALLS TO THE STRAVA API
|
List<StravaActivity> |
listAllAuthenticatedAthleteActivities()
USE WITH CAUTION - ATHLETES WITH MANY ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
|
List<StravaActivity> |
listAllAuthenticatedAthleteActivities(LocalDateTime before,
LocalDateTime after)
USE WITH CAUTION - ATHLETES WITH MANY ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
|
CompletableFuture<List<StravaActivity>> |
listAllAuthenticatedAthleteActivitiesAsync()
USE WITH CAUTION - ATHLETES WITH MANY ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
|
CompletableFuture<List<StravaActivity>> |
listAllAuthenticatedAthleteActivitiesAsync(LocalDateTime before,
LocalDateTime after)
USE WITH CAUTION - ATHLETES WITH MANY ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
|
List<StravaAthlete> |
listAllAuthenticatedAthleteFriends()
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS WILL REQUIRE MANY CALLS TO THE STRAVA API
|
CompletableFuture<List<StravaAthlete>> |
listAllAuthenticatedAthleteFriendsAsync()
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS WILL REQUIRE MANY CALLS TO THE STRAVA API
|
List<StravaSegment> |
listAllAuthenticatedAthleteStarredSegments()
|
CompletableFuture<List<StravaSegment>> |
listAllAuthenticatedAthleteStarredSegmentsAsync()
|
List<StravaAthlete> |
listAllClubAdmins(Integer clubId) |
CompletableFuture<List<StravaAthlete>> |
listAllClubAdminsAsync(Integer clubId) |
List<StravaAthlete> |
listAllClubMembers(Integer clubId)
USE WITH CAUTION - CLUBS WITH MANY MEMBERS WILL REQUIRE MANY CALLS TO THE STRAVA API
|
CompletableFuture<List<StravaAthlete>> |
listAllClubMembersAsync(Integer clubId)
USE WITH CAUTION - CLUBS WITH MANY MEMBERS WILL REQUIRE MANY CALLS TO THE STRAVA API
|
List<StravaActivity> |
listAllFriendsActivities()
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS' ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
|
CompletableFuture<List<StravaActivity>> |
listAllFriendsActivitiesAsync()
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS' ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
|
List<StravaActivity> |
listAllRecentClubActivities(Integer clubId)
|
CompletableFuture<List<StravaActivity>> |
listAllRecentClubActivitiesAsync(Integer clubId)
|
List<StravaActivity> |
listAllRelatedActivities(Integer activityId)
USE WITH CAUTION - ACTIVITIES WITH MANY RELATED ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
|
CompletableFuture<List<StravaActivity>> |
listAllRelatedActivitiesAsync(Integer activityId)
USE WITH CAUTION - ACTIVITIES WITH MANY RELATED ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
|
List<StravaSegmentEffort> |
listAllSegmentEfforts(Integer segmentId)
USE WITH CAUTION - POPULAR SEGMENTS CAN HAVE TENS OF THOUSANDS OF EFFORTS, REQUIRING A VERY LARGE NUMBER OF CALLS TO THE STRAVA API
|
List<StravaSegmentEffort> |
listAllSegmentEfforts(Integer segmentId,
Integer athleteId,
LocalDateTime startDate,
LocalDateTime endDate)
Retrieve an array of
segment efforts, for a given StravaSegment, filtered by StravaAthlete and/or a date
range. |
CompletableFuture<List<StravaSegmentEffort>> |
listAllSegmentEffortsAsync(Integer segmentId)
USE WITH CAUTION - POPULAR SEGMENTS CAN HAVE TENS OF THOUSANDS OF EFFORTS, REQUIRING A VERY LARGE NUMBER OF CALLS TO THE STRAVA API
|
CompletableFuture<List<StravaSegmentEffort>> |
listAllSegmentEffortsAsync(Integer segmentId,
Integer athleteId,
LocalDateTime startDate,
LocalDateTime endDate)
Retrieve an array of
segment efforts, for a given StravaSegment, filtered by StravaAthlete and/or a date
range. |
List<StravaSegment> |
listAllStarredSegments(Integer athleteId)
|
CompletableFuture<List<StravaSegment>> |
listAllStarredSegmentsAsync(Integer athleteId)
|
List<StravaAthlete> |
listAthleteFriends(Integer athleteId)
Friends are users an
athlete is following. |
List<StravaAthlete> |
listAthleteFriends(Integer athleteId,
Paging pagingInstruction)
Friends are users an
athlete is following. |
CompletableFuture<List<StravaAthlete>> |
listAthleteFriendsAsync(Integer athleteId)
Friends are users an
athlete is following. |
CompletableFuture<List<StravaAthlete>> |
listAthleteFriendsAsync(Integer athleteId,
Paging pagingInstruction)
Friends are users an
athlete is following. |
List<StravaSegmentEffort> |
listAthleteKOMs(Integer athleteId)
Returns an array of
segment efforts representing KOMs/QOMs and course records held by the given athlete. |
List<StravaSegmentEffort> |
listAthleteKOMs(Integer athleteId,
Paging pagingInstruction)
Returns an array of
segment efforts representing KOMs/QOMs and course records held by the given athlete. |
CompletableFuture<List<StravaSegmentEffort>> |
listAthleteKOMsAsync(Integer athleteId)
Returns an array of
segment efforts representing KOMs/QOMs and course records held by the given athlete. |
CompletableFuture<List<StravaSegmentEffort>> |
listAthleteKOMsAsync(Integer athleteId,
Paging pagingInstruction)
Returns an array of
segment efforts representing KOMs/QOMs and course records held by the given athlete. |
List<StravaAthlete> |
listAthletesBothFollowing(Integer athleteId)
Retrieve the
athletes who both the authenticated athlete and the indicated athlete are following. |
List<StravaAthlete> |
listAthletesBothFollowing(Integer athleteId,
Paging pagingInstruction)
Retrieve the
athletes who both the authenticated athlete and the indicated athlete are following. |
CompletableFuture<List<StravaAthlete>> |
listAthletesBothFollowingAsync(Integer athleteId)
Retrieve the
athletes who both the authenticated athlete and the indicated athlete are following. |
CompletableFuture<List<StravaAthlete>> |
listAthletesBothFollowingAsync(Integer athleteId,
Paging pagingInstruction)
Retrieve the
athletes who both the authenticated athlete and the indicated athlete are following. |
List<StravaActivity> |
listAuthenticatedAthleteActivities()
This endpoint returns a list of
activities for the authenticated StravaAthlete. |
List<StravaActivity> |
listAuthenticatedAthleteActivities(LocalDateTime before,
LocalDateTime after)
This endpoint returns a list of
activities for the authenticated StravaAthlete. |
List<StravaActivity> |
listAuthenticatedAthleteActivities(LocalDateTime before,
LocalDateTime after,
Paging pagingInstruction)
This endpoint returns a list of
activities for the authenticated StravaAthlete. |
List<StravaActivity> |
listAuthenticatedAthleteActivities(Paging pagingInstruction)
This endpoint returns a list of
activities for the authenticated StravaAthlete. |
CompletableFuture<List<StravaActivity>> |
listAuthenticatedAthleteActivitiesAsync()
This endpoint returns a list of
activities for the authenticated StravaAthlete. |
CompletableFuture<List<StravaActivity>> |
listAuthenticatedAthleteActivitiesAsync(LocalDateTime before,
LocalDateTime after)
This endpoint returns a list of
activities for the authenticated StravaAthlete. |
CompletableFuture<List<StravaActivity>> |
listAuthenticatedAthleteActivitiesAsync(LocalDateTime before,
LocalDateTime after,
Paging pagingInstruction)
This endpoint returns a list of
activities for the authenticated StravaAthlete. |
CompletableFuture<List<StravaActivity>> |
listAuthenticatedAthleteActivitiesAsync(Paging pagingInstruction)
This endpoint returns a list of
activities for the authenticated StravaAthlete. |
List<StravaClub> |
listAuthenticatedAthleteClubs()
|
CompletableFuture<List<StravaClub>> |
listAuthenticatedAthleteClubsAsync()
|
List<StravaAthlete> |
listAuthenticatedAthleteFriends()
Friends are users the current
athlete is following. |
List<StravaAthlete> |
listAuthenticatedAthleteFriends(Paging pagingInstruction)
Friends are users the current
athlete is following. |
CompletableFuture<List<StravaAthlete>> |
listAuthenticatedAthleteFriendsAsync()
Friends are users the current
athlete is following. |
CompletableFuture<List<StravaAthlete>> |
listAuthenticatedAthleteFriendsAsync(Paging pagingInstruction)
Friends are users the current
athlete is following. |
List<StravaSegment> |
listAuthenticatedAthleteStarredSegments()
|
List<StravaSegment> |
listAuthenticatedAthleteStarredSegments(Paging pagingInstruction)
|
CompletableFuture<List<StravaSegment>> |
listAuthenticatedAthleteStarredSegmentsAsync()
|
CompletableFuture<List<StravaSegment>> |
listAuthenticatedAthleteStarredSegmentsAsync(Paging pagingInstruction)
|
List<StravaAthlete> |
listClubAdmins(Integer clubId) |
List<StravaAthlete> |
listClubAdmins(Integer clubId,
Paging paging) |
CompletableFuture<List<StravaAthlete>> |
listClubAdminsAsync(Integer clubId) |
CompletableFuture<List<StravaAthlete>> |
listClubAdminsAsync(Integer clubId,
Paging paging) |
List<StravaClubAnnouncement> |
listClubAnnouncements(Integer clubId)
Announcements are posts sent by Club Admins or Owners to the members of a club.
|
CompletableFuture<List<StravaClubAnnouncement>> |
listClubAnnouncementsAsync(Integer clubId)
Announcements are posts sent by Club Admins or Owners to the members of a club.
|
List<StravaClubEvent> |
listClubGroupEvents(Integer clubId)
Group Events are optionally recurring events for club members.
|
CompletableFuture<List<StravaClubEvent>> |
listClubGroupEventsAsync(Integer clubId)
Group Events are optionally recurring events for club members.
|
List<StravaAthlete> |
listClubMembers(Integer clubId)
|
List<StravaAthlete> |
listClubMembers(Integer clubId,
Paging pagingInstruction)
|
CompletableFuture<List<StravaAthlete>> |
listClubMembersAsync(Integer clubId)
|
CompletableFuture<List<StravaAthlete>> |
listClubMembersAsync(Integer clubId,
Paging pagingInstruction)
|
List<StravaActivity> |
listFriendsActivities()
List the recent activities performed by those the current authenticated
StravaAthlete is following. |
List<StravaActivity> |
listFriendsActivities(Paging pagingInstruction)
List the recent activities performed by those the current authenticated
StravaAthlete is following. |
CompletableFuture<List<StravaActivity>> |
listFriendsActivitiesAsync()
List the recent activities performed by those the current authenticated
StravaAthlete is following. |
CompletableFuture<List<StravaActivity>> |
listFriendsActivitiesAsync(Paging pagingInstruction)
List the recent activities performed by those the current authenticated
StravaAthlete is following. |
List<StravaActivity> |
listRecentClubActivities(Integer clubId)
|
List<StravaActivity> |
listRecentClubActivities(Integer clubId,
Paging pagingInstruction)
|
CompletableFuture<List<StravaActivity>> |
listRecentClubActivitiesAsync(Integer clubId)
|
CompletableFuture<List<StravaActivity>> |
listRecentClubActivitiesAsync(Integer clubId,
Paging pagingInstruction)
|
List<StravaActivity> |
listRelatedActivities(Integer activityId)
Returns the activities that were matched as "with this group".
|
List<StravaActivity> |
listRelatedActivities(Integer activityId,
Paging pagingInstruction)
Returns the activities that were matched as "with this group".
|
CompletableFuture<List<StravaActivity>> |
listRelatedActivitiesAsync(Integer activityId)
Returns the activities that were matched as "with this group".
|
CompletableFuture<List<StravaActivity>> |
listRelatedActivitiesAsync(Integer activityId,
Paging pagingInstruction)
Returns the activities that were matched as "with this group".
|
List<StravaSegmentEffort> |
listSegmentEfforts(Integer segmentId)
Retrieve an array of
segment efforts, for a given StravaSegment. |
List<StravaSegmentEffort> |
listSegmentEfforts(Integer segmentId,
Integer athleteId,
LocalDateTime startDateLocal,
LocalDateTime endDateLocal)
Retrieve an array of
segment efforts, for a given StravaSegment, filtered by StravaAthlete and/or a date
range. |
List<StravaSegmentEffort> |
listSegmentEfforts(Integer segmentId,
Integer athleteId,
LocalDateTime startDateLocal,
LocalDateTime endDateLocal,
Paging pagingInstruction)
Retrieve an array of
segment efforts, for a given StravaSegment, filtered by StravaAthlete and/or a date
range. |
List<StravaSegmentEffort> |
listSegmentEfforts(Integer segmentId,
Paging pagingInstruction)
Retrieve an array of
segment efforts, for a given StravaSegment. |
CompletableFuture<List<StravaSegmentEffort>> |
listSegmentEffortsAsync(Integer segmentId)
Retrieve an array of
segment efforts, for a given StravaSegment. |
CompletableFuture<List<StravaSegmentEffort>> |
listSegmentEffortsAsync(Integer segmentId,
Integer athleteId,
LocalDateTime startDateLocal,
LocalDateTime endDateLocal)
Retrieve an array of
segment efforts, for a given StravaSegment, filtered by StravaAthlete and/or a date
range. |
CompletableFuture<List<StravaSegmentEffort>> |
listSegmentEffortsAsync(Integer segmentId,
Integer athleteId,
LocalDateTime startDateLocal,
LocalDateTime endDateLocal,
Paging pagingInstruction)
Retrieve an array of
segment efforts, for a given StravaSegment, filtered by StravaAthlete and/or a date
range. |
CompletableFuture<List<StravaSegmentEffort>> |
listSegmentEffortsAsync(Integer segmentId,
Paging pagingInstruction)
Retrieve an array of
segment efforts, for a given StravaSegment. |
List<StravaSegment> |
listStarredSegments(Integer athleteId)
|
List<StravaSegment> |
listStarredSegments(Integer athleteId,
Paging pagingInstruction)
|
CompletableFuture<List<StravaSegment>> |
listStarredSegmentsAsync(Integer athleteId)
|
CompletableFuture<List<StravaSegment>> |
listStarredSegmentsAsync(Integer athleteId,
Paging pagingInstruction)
|
List<StravaEventSubscription> |
listSubscriptions()
This request is used to retrieve the summary representations of the subscriptions in place for the current application.
|
CompletableFuture<List<StravaEventSubscription>> |
listSubscriptionsAsync()
This request is used to retrieve the summary representations of the subscriptions in place for the current application.
|
StravaSegmentExplorerResponse |
segmentExplore(StravaMapPoint southwestCorner,
StravaMapPoint northeastCorner,
StravaSegmentExplorerActivityType activityType,
StravaClimbCategory minCat,
StravaClimbCategory maxCat)
This endpoint can be used to find popular segments within a given area (defined by the southwest and northeast corners of the area).
|
CompletableFuture<StravaSegmentExplorerResponse> |
segmentExploreAsync(StravaMapPoint southwestCorner,
StravaMapPoint northeastCorner,
StravaSegmentExplorerActivityType activityType,
StravaClimbCategory minCat,
StravaClimbCategory maxCat)
This endpoint can be used to find popular segments within a given area (defined by the southwest and northeast corners of the area).
|
StravaStatistics |
statistics(Integer athleteId)
Returns recent (last 4 weeks), year to date and all time stats for a given athlete.
|
CompletableFuture<StravaStatistics> |
statisticsAsync(Integer athleteId)
Returns recent (last 4 weeks), year to date and all time stats for a given athlete.
|
StravaActivity |
updateActivity(Integer activityId,
StravaActivityUpdate activity)
Requires write permissions, as requested during the authorization process.
|
CompletableFuture<StravaActivity> |
updateActivityAsync(Integer activityId,
StravaActivityUpdate activity)
Requires write permissions, as requested during the authorization process.
|
StravaAthlete |
updateAuthenticatedAthlete(String city,
String state,
String country,
StravaGender sex,
Float weight)
Updates the personal details of the currently authenticated
athlete. |
CompletableFuture<StravaAthlete> |
updateAuthenticatedAthleteAsync(String city,
String state,
String country,
StravaGender sex,
Float weight)
Updates the personal details of the currently authenticated
athlete. |
StravaUploadResponse |
upload(StravaActivityType activityType,
String name,
String description,
Boolean _private,
Boolean trainer,
Boolean commute,
String dataType,
String externalId,
File file)
Requires write permissions, as requested during the authorization process.
|
CompletableFuture<StravaUploadResponse> |
uploadAsync(StravaActivityType activityType,
String name,
String description,
Boolean _private,
Boolean trainer,
Boolean commute,
String dataType,
String externalId,
File file)
Requires write permissions, as requested during the authorization process.
|
public Strava(Token token)
token - the access token to be used with calls to the Strava APIpublic StravaUploadResponse checkUploadStatus(Integer uploadId)
UploadServiceUpon upload, Strava will respond with an upload ID. You may use this ID to poll the status of your upload. Strava recommends polling no more than once a second. Polling more frequently is unnecessary. The mean processing time is around 8 seconds.
URL GET https://www.strava.com/api/v3/uploads/:id
checkUploadStatus in interface UploadServiceuploadId - Upload identifierUploadService.checkUploadStatus(java.lang.Integer)public CompletableFuture<StravaUploadResponse> checkUploadStatusAsync(Integer uploadId)
UploadServiceUpon upload, Strava will respond with an upload ID. You may use this ID to poll the status of your upload. Strava recommends polling no more than once a second. Polling more frequently is unnecessary. The mean processing time is around 8 seconds.
URL GET https://www.strava.com/api/v3/uploads/:id
checkUploadStatusAsync in interface UploadServiceuploadId - Upload identifierUploadService.checkUploadStatusAsync(java.lang.Integer)public void clearCache()
StravaServiceClear any and all cached data entries
Primarily used when revoking/deauthorising a token so that there are no entries remaining that are associated with the token that could mistakenly get returned
clearCache in interface StravaServiceStravaService.clearCache()public StravaComment createComment(Integer activityId, String text) throws NotFoundException, BadRequestException
ActivityServiceCreate a comment on an activity.
Comment posting must be explicitly authorised by Strava for your application.
The comment will be made by the user associated with the access_token.
URL POST https://www.strava.com/api/v3/activities/:id/comments
createComment in interface ActivityServiceactivityId - Activity identifiertext - Text of the comment (which may include markdown)NotFoundException - If the activity does not existBadRequestException - If the comment is invalid (of zero length)ActivityService.createComment(java.lang.Integer, java.lang.String)public CompletableFuture<StravaComment> createCommentAsync(Integer activityId, String text) throws NotFoundException, BadRequestException
ActivityServiceCreate a comment on an activity.
Comment posting must be explicitly authorised by Strava for your application.
The comment will be made by the user associated with the access_token.
URL POST https://www.strava.com/api/v3/activities/:id/comments
createCommentAsync in interface ActivityServiceactivityId - Activity identifiertext - Text of the comment (which may include markdown)NotFoundException - If the activity does not existBadRequestException - If the comment is invalid (of zero length)ActivityService.createCommentAsync(java.lang.Integer, java.lang.String)public StravaActivity createManualActivity(StravaActivity activity)
ActivityService
This API endpoint is for creating manually entered activities. To upload a FIT, TCX or GPX file see the Upload Documentation.
Requires write permissions, as requested during the authorization process.
Only updates name, activity type, startDateLocal, elapsedTime, description and distance.
If any other activity attributes are passed to the API, they are ignored when creating the activity.
If successful, returns a 201 status code along with a detailed representation of the created activity.
URL POST https://www.strava.com/api/v3/activities
createManualActivity in interface ActivityServiceactivity - The activity to be created on StravaActivityService.createManualActivity(javastrava.api.v3.model.StravaActivity)public CompletableFuture<StravaActivity> createManualActivityAsync(StravaActivity activity)
ActivityService
This API endpoint is for creating manually entered activities. To upload a FIT, TCX or GPX file see the Upload Documentation.
Requires write permissions, as requested during the authorization process.
Only updates name, activity type, startDateLocal, elapsedTime, description and distance.
If any other activity attributes are passed to the API, they are ignored when creating the activity.
If successful, returns a 201 status code along with a detailed representation of the created activity.
URL POST https://www.strava.com/api/v3/activities
createManualActivityAsync in interface ActivityServiceactivity - The activity to be created on StravaActivityService.createManualActivityAsync(javastrava.api.v3.model.StravaActivity)public StravaEventSubscription createSubscription(StravaEventSubscription subscription, String verifyToken)
Creates a subscription to an allowed event
The application must have permission to make use of the webhook API. Access can be requested by contacting developers -at- strava.com.
The above request will send a GET request to callback url to verify existence
Your response to this GET request must contain the hub.challenge token, ie. 15f7d1a91c1f40f8a748fd134752feb3 and have a response code of 200.
On callback verification we respond to the original POST with the created subscription. If there is an error, a response containing the reason for failure will be returned.
When an event occurs that corresponds to a push subscription, a POST request will be made to the callback url defined in the subscription. The payload will contain the object and aspect types affected, as well as information about the object and its owner if applicable.
You should acknowledge the POST within a 2 second timeout–if you need to do more processing of the received information, you can do so in an asynchronous task.
Additional metadata about the object is not included, and an application must decide how or if it wants to fetch updated data. For example, you may decide only to fetch new data for specific users, or after a certain number of activities have been uploaded.
createSubscription in interface WebhookServicesubscription - The subscription to create on StravaverifyToken - The verification token Strava should use when validating your endpointWebhookService.createSubscription(javastrava.api.v3.model.webhook.StravaEventSubscription, String)public CompletableFuture<StravaEventSubscription> createSubscriptionAsync(StravaEventSubscription subscription, String verifyToken)
Creates a subscription to an allowed event
The application must have permission to make use of the webhook API. Access can be requested by contacting developers -at- strava.com.
The above request will send a GET request to callback url to verify existence
Your response to this GET request must contain the hub.challenge token, ie. 15f7d1a91c1f40f8a748fd134752feb3 and have a response code of 200.
On callback verification we respond to the original POST with the created subscription. If there is an error, a response containing the reason for failure will be returned.
When an event occurs that corresponds to a push subscription, a POST request will be made to the callback url defined in the subscription. The payload will contain the object and aspect types affected, as well as information about the object and its owner if applicable.
You should acknowledge the POST within a 2 second timeout–if you need to do more processing of the received information, you can do so in an asynchronous task.
Additional metadata about the object is not included, and an application must decide how or if it wants to fetch updated data. For example, you may decide only to fetch new data for specific users, or after a certain number of activities have been uploaded.
createSubscriptionAsync in interface WebhookServicesubscription - The subscription to create on StravaverifyToken - The verification token Strava should use when validating your endpointWebhookService.createSubscriptionAsync(javastrava.api.v3.model.webhook.StravaEventSubscription, String)public TokenResponse deauthorise(Token accessToken)
accessToken - token to be deauthorisedTokenService.deauthorise(javastrava.api.v3.auth.model.Token)public StravaActivity deleteActivity(Integer activityId) throws NotFoundException
ActivityService
Deletes the identified StravaActivity
Requires write permissions, as requested during the authorization process.
Returns null if the activity does not exist on Strava
URL DELETE https://www.strava.com/api/v3/activities/:id
deleteActivity in interface ActivityServiceactivityId - The identifier of the activity to be deletedNotFoundException - If the activity does not existActivityService.deleteActivity(java.lang.Integer)public CompletableFuture<StravaActivity> deleteActivityAsync(Integer activityId) throws NotFoundException
ActivityService
Deletes the identified StravaActivity
Requires write permissions, as requested during the authorization process.
Returns null if the activity does not exist on Strava
URL DELETE https://www.strava.com/api/v3/activities/:id
deleteActivityAsync in interface ActivityServiceactivityId - The identifier of the activity to be deletedNotFoundException - If the activity does not existActivityService.deleteActivityAsync(java.lang.Integer)public void deleteComment(Integer activityId, Integer commentId) throws NotFoundException
ActivityServiceDelete a comment belonging to the authenticated user
deleteComment in interface ActivityServiceactivityId - Activity identifiercommentId - Comment identifierNotFoundException - If the comment does not existActivityService.deleteComment(java.lang.Integer, java.lang.Integer)public void deleteComment(StravaComment comment) throws NotFoundException
ActivityServiceDelete a comment belonging to the authenticated user
deleteComment in interface ActivityServicecomment - Comment to be deletedNotFoundException - If the comment does not exist on StravaActivityService.deleteComment(javastrava.api.v3.model.StravaComment)public CompletableFuture<Void> deleteCommentAsync(Integer activityId, Integer commentId) throws NotFoundException
ActivityServiceDelete a comment belonging to the authenticated user
deleteCommentAsync in interface ActivityServiceactivityId - Activity identifiercommentId - Comment identifierCompletableFuture which indicates when the deletion is completeNotFoundException - If the comment does not existActivityService.deleteCommentAsync(java.lang.Integer, java.lang.Integer)public CompletableFuture<Void> deleteCommentAsync(StravaComment comment) throws NotFoundException
ActivityServiceDelete a comment belonging to the authenticated user
deleteCommentAsync in interface ActivityServicecomment - Comment to be deletedCompletableFuture which indicates when the deletion is completeNotFoundException - If the comment does not exist on StravaActivityService.deleteCommentAsync(javastrava.api.v3.model.StravaComment)public void deleteSubscription(Integer id)
This request is used to unsubscribe from events.
If the delete is successful, a 204 will be returned. Otherwise, an error will be returned containing the reason for a failure.
deleteSubscription in interface WebhookServiceid - Unique identifier of the subscription to be deletedpublic CompletableFuture<Void> deleteSubscriptionAsync(Integer id)
This request is used to unsubscribe from events.
If the delete is successful, a 204 will be returned. Otherwise, an error will be returned containing the reason for a failure.
deleteSubscriptionAsync in interface WebhookServiceid - Unique identifier of the subscription to be deletedpublic StravaActivity getActivity(Integer activityId)
ActivityServiceStravaActivity details, including segment efforts, splits and best efforts, are only available to the owner of the activity.
By default, only "important" efforts are included. "Importance" is based on a number of undocumented factors and its value may change over time. Factors considered include: segment age, views and stars, if the user has hidden/shown the segment and if the effort was a PR. Note, if two activities cover the same segment, it is possible that for one activity the associated effort is "important" but not for the other.
Note that effort ids may exceed the max value for 32-bit integers. A long integer type should be used.
Each segment effort will have a hidden attribute indicating if it is "important" or not.
Returns null if the activity does not exist
URL GET https://www.strava.com/api/v3/activities/:id
getActivity in interface ActivityServiceactivityId - The activity identifiernull if it does not.ActivityService.getActivity(java.lang.Integer)public StravaActivity getActivity(Integer activityId, Boolean includeAllEfforts)
ActivityServiceStravaActivity details, including segment efforts, splits and best efforts, are only available to the owner of the activity.
By default, only "important" efforts are included. "Importance" is based on a number of factors and its value may change over time. Factors considered include: segment age, views and stars, if the user has hidden/shown the segment and if the effort was a PR. Note, if two activities cover the same segment, it is possible that for one activity the associated effort is "important" but not for the other.
Note that effort ids may exceed the max value for 32-bit integers. A long integer type should be used.
Each segment effort will have a hidden attribute indicating if it is "important" or not.
Returns null if the activity does not exist
URL GET https://www.strava.com/api/v3/activities/:id
getActivity in interface ActivityServiceactivityId - The activity identifierincludeAllEfforts - Whether to return efforts that Strava does not consider "important"null if it does notActivityService.getActivity(java.lang.Integer, java.lang.Boolean)public CompletableFuture<StravaActivity> getActivityAsync(Integer activityId)
ActivityServiceStravaActivity details, including segment efforts, splits and best efforts, are only available to the owner of the activity.
By default, only "important" efforts are included. "Importance" is based on a number of undocumented factors and its value may change over time. Factors considered include: segment age, views and stars, if the user has hidden/shown the segment and if the effort was a PR. Note, if two activities cover the same segment, it is possible that for one activity the associated effort is "important" but not for the other.
Note that effort ids may exceed the max value for 32-bit integers. A long integer type should be used.
Each segment effort will have a hidden attribute indicating if it is "important" or not.
Returns null if the activity does not exist
URL GET https://www.strava.com/api/v3/activities/:id
getActivityAsync in interface ActivityServiceactivityId - The activity identifiernull if it does not.ActivityService.getActivityAsync(java.lang.Integer)public CompletableFuture<StravaActivity> getActivityAsync(Integer activityId, Boolean includeAllEfforts)
ActivityServiceStravaActivity details, including segment efforts, splits and best efforts, are only available to the owner of the activity.
By default, only "important" efforts are included. "Importance" is based on a number of factors and its value may change over time. Factors considered include: segment age, views and stars, if the user has hidden/shown the segment and if the effort was a PR. Note, if two activities cover the same segment, it is possible that for one activity the associated effort is "important" but not for the other.
Note that effort ids may exceed the max value for 32-bit integers. A long integer type should be used.
Each segment effort will have a hidden attribute indicating if it is "important" or not.
Returns null if the activity does not exist
URL GET https://www.strava.com/api/v3/activities/:id
getActivityAsync in interface ActivityServiceactivityId - The activity identifierincludeAllEfforts - Whether to return efforts that Strava does not consider "important"null if it does notActivityService.getActivityAsync(java.lang.Integer, java.lang.Boolean)public List<StravaStream> getActivityStreams(Integer activityId)
StreamServiceStreams represent the raw data of the uploaded file. External applications may only access this information for activities owned by the authenticated athlete.
While there are a large number of stream types, they may not exist for all activities. If a stream type does not exist for the
activity, it will be ignored.
All streams for a given activity will be the same length and the values at a given index correspond to the same time. For example, the time from the time stream can be correlated to the lat/lng or watts streams.
Privacy Zones
StravaStream requests made using a public access_token will be cropped with the user's privacy zones, regardless if the requesting athlete owns the requested activity. To fetch the complete stream data use an access_token with view_private permissions.
URL GET https://www.strava.com/api/v3/activities/:id/streams/:types
getActivityStreams in interface StreamServiceactivityId - Activity identifiernull if the activity does not existStreamService.getActivityStreams(java.lang.Integer)public List<StravaStream> getActivityStreams(Integer activityId, StravaStreamResolutionType resolution, StravaStreamSeriesDownsamplingType seriesType, StravaStreamType... types)
StreamServiceStreams represent the raw data of the uploaded file. External applications may only access this information for activities owned by the authenticated athlete.
While there are a large number of stream types, they may not exist for all activities. If a stream type does not exist for the
activity, it will be ignored.
All streams for a given activity will be the same length and the values at a given index correspond to the same time. For example, the time from the time stream can be correlated to the lat/lng or watts streams.
Privacy Zones
StravaStream requests made using a public access_token will be cropped with the user's privacy zones, regardless if the requesting athlete owns the requested activity. To fetch the complete stream data use an access_token with view_private permissions.
URL GET https://www.strava.com/api/v3/activities/:id/streams/:types
getActivityStreams in interface StreamServiceactivityId - Activity identifiertypes - List of types, if the activity does not have that stream it will not be included in the responseresolution - (Optional) low (100), medium (1000) or high (10000), default is all, indicates desired number of data points, streams will only be down
sampledseriesType - (Optional) relevant only if using resolution. Either "time" or "distance", default is "distance", used to index the streams if the stream is
being reducednull if the activity does not exist.StreamService.getActivityStreams(java.lang.Integer, javastrava.api.v3.model.reference.StravaStreamResolutionType,
javastrava.api.v3.model.reference.StravaStreamSeriesDownsamplingType, javastrava.api.v3.model.reference.StravaStreamType[])public CompletableFuture<List<StravaStream>> getActivityStreamsAsync(Integer activityId)
StreamServiceStreams represent the raw data of the uploaded file. External applications may only access this information for activities owned by the authenticated athlete.
While there are a large number of stream types, they may not exist for all activities. If a stream type does not exist for the
activity, it will be ignored.
All streams for a given activity will be the same length and the values at a given index correspond to the same time. For example, the time from the time stream can be correlated to the lat/lng or watts streams.
Privacy Zones
StravaStream requests made using a public access_token will be cropped with the user's privacy zones, regardless if the requesting athlete owns the requested activity. To fetch the complete stream data use an access_token with view_private permissions.
URL GET https://www.strava.com/api/v3/activities/:id/streams/:types
getActivityStreamsAsync in interface StreamServiceactivityId - Activity identifiernull if the activity does not existStreamService.getActivityStreamsAsync(java.lang.Integer)public CompletableFuture<List<StravaStream>> getActivityStreamsAsync(Integer activityId, StravaStreamResolutionType resolution, StravaStreamSeriesDownsamplingType seriesType, StravaStreamType... types)
StreamServiceStreams represent the raw data of the uploaded file. External applications may only access this information for activities owned by the authenticated athlete.
While there are a large number of stream types, they may not exist for all activities. If a stream type does not exist for the
activity, it will be ignored.
All streams for a given activity will be the same length and the values at a given index correspond to the same time. For example, the time from the time stream can be correlated to the lat/lng or watts streams.
Privacy Zones
StravaStream requests made using a public access_token will be cropped with the user's privacy zones, regardless if the requesting athlete owns the requested activity. To fetch the complete stream data use an access_token with view_private permissions.
URL GET https://www.strava.com/api/v3/activities/:id/streams/:types
getActivityStreamsAsync in interface StreamServiceactivityId - Activity identifiertypes - List of types, if the activity does not have that stream it will not be included in the responseresolution - (Optional) low (100), medium (1000) or high (10000), default is all, indicates desired number of data points, streams will only be down
sampledseriesType - (Optional) relevant only if using resolution. Either "time" or "distance", default is "distance", used to index the streams if the stream is
being reducednull if the activity does not exist.StreamService.getActivityStreamsAsync(java.lang.Integer, javastrava.api.v3.model.reference.StravaStreamResolutionType, javastrava.api.v3.model.reference.StravaStreamSeriesDownsamplingType, javastrava.api.v3.model.reference.StravaStreamType[])public StravaSegmentLeaderboard getAllSegmentLeaderboard(Integer segmentId)
USE WITH CAUTION - POPULAR SEGMENTS CAN HAVE TENS OF THOUSANDS OF ATHLETES ON THE LEADERBOARD, REQUIRING A VERY LARGE NUMBER OF CALLS TO THE STRAVA API
getAllSegmentLeaderboard in interface SegmentServicesegmentId - Segment identifiernull if the segment does not existSegmentService.getAllSegmentLeaderboard(java.lang.Integer)public StravaSegmentLeaderboard getAllSegmentLeaderboard(Integer segmentId, StravaGender gender, StravaAgeGroup ageGroup, StravaWeightClass weightClass, Boolean following, Integer clubId, StravaLeaderboardDateRange dateRange)
USE WITH CAUTION - POPULAR SEGMENTS CAN HAVE TENS OF THOUSANDS OF ATHLETES ON THE LEADERBOARD, REQUIRING A VERY LARGE NUMBER OF CALLS TO THE STRAVA API
getAllSegmentLeaderboard in interface SegmentServicesegmentId - The id of the segment to return a leaderboard forgender - (Optional) StravaGender to filter results byageGroup - (Optional) Age group to filter results byweightClass - (Optional) Weight class to filter results byfollowing - (Optional) If true then will return only results for athletes that the currently authenticated athlete is
followingclubId - (Optional) Id of StravaClub to filter results bydateRange - (Optional) Use to set to return results for this year, this month, this week etc.null if the segment does not existSegmentService.getAllSegmentLeaderboard(java.lang.Integer, javastrava.api.v3.model.reference.StravaGender,
javastrava.api.v3.model.reference.StravaAgeGroup, javastrava.api.v3.model.reference.StravaWeightClass, java.lang.Boolean, java.lang.Integer,
javastrava.api.v3.model.reference.StravaLeaderboardDateRange)public CompletableFuture<StravaSegmentLeaderboard> getAllSegmentLeaderboardAsync(Integer segmentId)
USE WITH CAUTION - POPULAR SEGMENTS CAN HAVE TENS OF THOUSANDS OF ATHLETES ON THE LEADERBOARD, REQUIRING A VERY LARGE NUMBER OF CALLS TO THE STRAVA API
getAllSegmentLeaderboardAsync in interface SegmentServicesegmentId - Segment identifiernull if the segment does not existSegmentService.getAllSegmentLeaderboardAsync(java.lang.Integer)public CompletableFuture<StravaSegmentLeaderboard> getAllSegmentLeaderboardAsync(Integer segmentId, StravaGender gender, StravaAgeGroup ageGroup, StravaWeightClass weightClass, Boolean following, Integer clubId, StravaLeaderboardDateRange dateRange)
USE WITH CAUTION - POPULAR SEGMENTS CAN HAVE TENS OF THOUSANDS OF ATHLETES ON THE LEADERBOARD, REQUIRING A VERY LARGE NUMBER OF CALLS TO THE STRAVA API
getAllSegmentLeaderboardAsync in interface SegmentServicesegmentId - The id of the segment to return a leaderboard forgender - (Optional) StravaGender to filter results byageGroup - (Optional) Age group to filter results byweightClass - (Optional) Weight class to filter results byfollowing - (Optional) If true then will return only results for athletes that the currently authenticated athlete is
followingclubId - (Optional) Id of StravaClub to filter results bydateRange - (Optional) Use to set to return results for this year, this month, this week etc.null if the segment does not existSegmentService.getAllSegmentLeaderboardAsync(java.lang.Integer, javastrava.api.v3.model.reference.StravaGender, javastrava.api.v3.model.reference.StravaAgeGroup, javastrava.api.v3.model.reference.StravaWeightClass, java.lang.Boolean, java.lang.Integer, javastrava.api.v3.model.reference.StravaLeaderboardDateRange)public StravaAthlete getAthlete(Integer athleteId)
AthleteService
This request is used to retrieve information about any athlete on Strava.
Returns null if athlete does not exist
URL GET https://www.strava.com/api/v3/athletes/:id
getAthlete in interface AthleteServiceathleteId - Athlete identifiernull if the athlete does not existAthleteService.getAthlete(java.lang.Integer)public CompletableFuture<StravaAthlete> getAthleteAsync(Integer athleteId)
AthleteService
This request is used to retrieve information about any athlete on Strava.
Returns null if athlete does not exist
URL GET https://www.strava.com/api/v3/athletes/:id
getAthleteAsync in interface AthleteServiceathleteId - Athlete identifiernull if the athlete does not existAthleteService.getAthleteAsync(java.lang.Integer)public StravaAthlete getAuthenticatedAthlete()
AthleteService
This request is used to retrieve information about the currently authenticated athlete.
URL GET https://www.strava.com/api/v3/athlete
getAuthenticatedAthlete in interface AthleteServiceAthleteService.getAuthenticatedAthlete()public CompletableFuture<StravaAthlete> getAuthenticatedAthleteAsync()
AthleteService
This request is used to retrieve information about the currently authenticated athlete.
URL GET https://www.strava.com/api/v3/athlete
getAuthenticatedAthleteAsync in interface AthleteServiceAthleteService.getAuthenticatedAthlete()public StravaClub getClub(Integer clubId)
ClubService
Retrieve details about a specific club. The club must be public or the current athlete must be a member.
Returns null if club with the given id does not exist
Returns an empty club (with only the id set) if the club is private and the authenticated athlete is not a member
URL GET https://www.strava.com/api/v3/clubs/:id
getClub in interface ClubServiceclubId - Club identifiernull if the club does not existClubService.getClub(java.lang.Integer)public CompletableFuture<StravaClub> getClubAsync(Integer clubId)
ClubService
Retrieve details about a specific club. The club must be public or the current athlete must be a member.
Returns null if club with the given id does not exist
Returns an empty club (with only the id set) if the club is private and the authenticated athlete is not a member
URL GET https://www.strava.com/api/v3/clubs/:id
getClubAsync in interface ClubServiceclubId - Club identifiernull if the club does not existClubService.getClubAsync(java.lang.Integer)public List<StravaStream> getEffortStreams(Long segmentEffortId)
StreamService
A segment effort represents an attempt on a segment. This resource returns a subset of the
activity streams that correspond to that effort.
All streams for a given segment effort will be the same length and the values at a given index correspond to the same time.
This resource is available for all public efforts.
URL GET https://www.strava.com/api/v3/segment_efforts/:id/streams/:types
getEffortStreams in interface StreamServicesegmentEffortId - Segment effort identifiernull if the segment effort does not existStreamService.getEffortStreams(java.lang.Long)public List<StravaStream> getEffortStreams(Long segmentEffortId, StravaStreamResolutionType resolution, StravaStreamSeriesDownsamplingType seriesType, StravaStreamType... types)
StreamService
A segment effort represents an attempt on a segment. This resource returns a subset of the
activity streams that correspond to that effort.
All streams for a given segment effort will be the same length and the values at a given index correspond to the same time.
This resource is available for all public efforts.
URL GET https://www.strava.com/api/v3/segment_efforts/:id/streams/:types
getEffortStreams in interface StreamServicesegmentEffortId - Segment identifiertypes - List of types, if the activity does not have that stream it will not be included in the responseresolution - (Optional) low (100), medium (1000) or high (10000), default is all, indicates desired number of data points, streams will only be down
sampledseriesType - (Optional) relevant only if using resolution. Either "time" or "distance", default is "distance", used to index the streams if the stream is
being reducednull if the effort does not existStreamService.getEffortStreams(java.lang.Long, javastrava.api.v3.model.reference.StravaStreamResolutionType,
javastrava.api.v3.model.reference.StravaStreamSeriesDownsamplingType, javastrava.api.v3.model.reference.StravaStreamType[])public CompletableFuture<List<StravaStream>> getEffortStreamsAsync(Long effortId)
StreamService
A segment effort represents an attempt on a segment. This resource returns a subset of the
activity streams that correspond to that effort.
All streams for a given segment effort will be the same length and the values at a given index correspond to the same time.
This resource is available for all public efforts.
URL GET https://www.strava.com/api/v3/segment_efforts/:id/streams/:types
getEffortStreamsAsync in interface StreamServiceeffortId - Segment effort identifiernull if the segment effort does not existStreamService.getEffortStreamsAsync(java.lang.Long)public CompletableFuture<List<StravaStream>> getEffortStreamsAsync(Long effortId, StravaStreamResolutionType resolution, StravaStreamSeriesDownsamplingType seriesType, StravaStreamType... types)
StreamService
A segment effort represents an attempt on a segment. This resource returns a subset of the
activity streams that correspond to that effort.
All streams for a given segment effort will be the same length and the values at a given index correspond to the same time.
This resource is available for all public efforts.
URL GET https://www.strava.com/api/v3/segment_efforts/:id/streams/:types
getEffortStreamsAsync in interface StreamServiceeffortId - Segment identifiertypes - List of types, if the activity does not have that stream it will not be included in the responseresolution - (Optional) low (100), medium (1000) or high (10000), default is all, indicates desired number of data points, streams will only be down
sampledseriesType - (Optional) relevant only if using resolution. Either "time" or "distance", default is "distance", used to index the streams if the stream is
being reducednull if the effort does not existStreamService.getEffortStreamsAsync(java.lang.Long, javastrava.api.v3.model.reference.StravaStreamResolutionType, javastrava.api.v3.model.reference.StravaStreamSeriesDownsamplingType, javastrava.api.v3.model.reference.StravaStreamType[])public StravaGear getGear(String gearId)
GearService
Retrieve details about a specific item of StravaGear. The requesting StravaAthlete must own the StravaGear. At this time it is
not possible to view just anyone's gear type and usage.
Returns null if club with the given id does not exist
URL GET https://www.strava.com/api/v3/gear/:id
getGear in interface GearServicegearId - Gear identifiernull if the gear does not existGearService.getGear(java.lang.String)public CompletableFuture<StravaGear> getGearAsync(String gearId)
GearService
Retrieve details about a specific item of StravaGear. The requesting StravaAthlete must own the StravaGear. At this time it is
not possible to view just anyone's gear type and usage.
Returns null if club with the given id does not exist
URL GET https://www.strava.com/api/v3/gear/:id
getGearAsync in interface GearServicegearId - Gear identifiernull if the gear does not existGearService.getGearAsync(java.lang.String)public StravaSegment getSegment(Integer segmentId)
SegmentService
Retrieve details about a specific segment.
URL GET https://www.strava.com/api/v3/segments/:id
Returns null if the segment does not exist
getSegment in interface SegmentServicesegmentId - Segment identifiernull if the segment does not existSegmentService.getSegment(java.lang.Integer)public CompletableFuture<StravaSegment> getSegmentAsync(Integer segmentId)
SegmentService
Retrieve details about a specific segment.
URL GET https://www.strava.com/api/v3/segments/:id
Returns null if the segment does not exist
getSegmentAsync in interface SegmentServicesegmentId - Segment identifiernull if the segment does not existSegmentService.getSegmentAsync(java.lang.Integer)public StravaSegmentEffort getSegmentEffort(Long segmentEffortId)
SegmentEffortServiceRetrieve details about a specific segment effort. The effort must be public or it must correspond to the current athlete.
Returns null if the segment effort does not exist or is private
URL GET https://www.strava.com/api/v3/segment_efforts/:id
getSegmentEffort in interface SegmentEffortServicesegmentEffortId - Segment effort identifiernull if the effort does not existSegmentEffortService.getSegmentEffort(java.lang.Long)public CompletableFuture<StravaSegmentEffort> getSegmentEffortAsync(Long segmentEffortId)
SegmentEffortServiceRetrieve details about a specific segment effort. The effort must be public or it must correspond to the current athlete.
Returns null if the segment effort does not exist or is private
URL GET https://www.strava.com/api/v3/segment_efforts/:id
getSegmentEffortAsync in interface SegmentEffortServicesegmentEffortId - Segment effort identifiernull if the effort does not existSegmentEffortService.getSegmentEffortAsync(java.lang.Long)public StravaSegmentLeaderboard getSegmentLeaderboard(Integer segmentId)
SegmentService
Leaderboards represent the ranking of athletes on specific segments.
Filter by age_group and weight_class is only allowed if the authenticated athlete is a Strava premium member.
Pagination is NOT supported. Returns only the first page of leaderboard entries.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/leaderboard
getSegmentLeaderboard in interface SegmentServicesegmentId - Segment identifierSegmentService.getSegmentLeaderboard(java.lang.Integer)public StravaSegmentLeaderboard getSegmentLeaderboard(Integer segmentId, Paging pagingInstruction)
SegmentService
Leaderboards represent the ranking of athletes on specific segments.
Filter by age_group and weight_class is only allowed if the authenticated athlete is a Strava premium member.
Pagination is supported.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/leaderboard
getSegmentLeaderboard in interface SegmentServicesegmentId - Segment identifierpagingInstruction - Paging instructionSegmentService.getSegmentLeaderboard(java.lang.Integer, javastrava.util.Paging)public StravaSegmentLeaderboard getSegmentLeaderboard(Integer segmentId, StravaGender gender, StravaAgeGroup ageGroup, StravaWeightClass weightClass, Boolean following, Integer clubId, StravaLeaderboardDateRange dateRange, Paging pagingInstruction, Integer contextEntries)
SegmentService
Leaderboards represent the ranking of athletes on specific segments.
Filter by age_group and weight_class is only allowed if the authenticated athlete is a Strava premium member.
Pagination is supported.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/leaderboard
getSegmentLeaderboard in interface SegmentServicesegmentId - Segment identifiergender - (Optional) StravaGender to filter results byageGroup - (Optional) Age group to filter results byweightClass - (Optional) Weight class to filter results byfollowing - (Optional) If true then will return only results for athletes that the currently authenticated athlete is
followingclubId - (Optional) Id of StravaClub to filter results bydateRange - (Optional) Use to set to return results for this year, this month, this week etc.pagingInstruction - (Optional) Paging instructioncontextEntries - (Optional) number of entries to return as athlete context either side of the athlete (default is 2, maximum is 15)SegmentService.getSegmentLeaderboard(java.lang.Integer, javastrava.api.v3.model.reference.StravaGender,
javastrava.api.v3.model.reference.StravaAgeGroup, javastrava.api.v3.model.reference.StravaWeightClass, java.lang.Boolean, java.lang.Integer,
javastrava.api.v3.model.reference.StravaLeaderboardDateRange, javastrava.util.Paging, java.lang.Integer)public CompletableFuture<StravaSegmentLeaderboard> getSegmentLeaderboardAsync(Integer segmentId)
SegmentService
Leaderboards represent the ranking of athletes on specific segments.
Filter by age_group and weight_class is only allowed if the authenticated athlete is a Strava premium member.
Pagination is NOT supported. Returns only the first page of leaderboard entries.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/leaderboard
getSegmentLeaderboardAsync in interface SegmentServicesegmentId - Segment identifierSegmentService.getSegmentLeaderboardAsync(java.lang.Integer)public CompletableFuture<StravaSegmentLeaderboard> getSegmentLeaderboardAsync(Integer segmentId, Paging pagingInstruction)
SegmentService
Leaderboards represent the ranking of athletes on specific segments.
Filter by age_group and weight_class is only allowed if the authenticated athlete is a Strava premium member.
Pagination is supported.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/leaderboard
getSegmentLeaderboardAsync in interface SegmentServicesegmentId - Segment identifierpagingInstruction - Paging instructionSegmentService.getSegmentLeaderboardAsync(java.lang.Integer, javastrava.util.Paging)public CompletableFuture<StravaSegmentLeaderboard> getSegmentLeaderboardAsync(Integer segmentId, StravaGender gender, StravaAgeGroup ageGroup, StravaWeightClass weightClass, Boolean following, Integer clubId, StravaLeaderboardDateRange dateRange, Paging pagingInstruction, Integer contextEntries)
SegmentService
Leaderboards represent the ranking of athletes on specific segments.
Filter by age_group and weight_class is only allowed if the authenticated athlete is a Strava premium member.
Pagination is supported.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/leaderboard
getSegmentLeaderboardAsync in interface SegmentServicesegmentId - Segment identifiergender - (Optional) StravaGender to filter results byageGroup - (Optional) Age group to filter results byweightClass - (Optional) Weight class to filter results byfollowing - (Optional) If true then will return only results for athletes that the currently authenticated athlete is
followingclubId - (Optional) Id of StravaClub to filter results bydateRange - (Optional) Use to set to return results for this year, this month, this week etc.pagingInstruction - (Optional) Paging instructioncontextEntries - (Optional) number of entries to return as athlete context either side of the athlete (default is 2, maximum is 15)SegmentService.getSegmentLeaderboardAsync(java.lang.Integer, javastrava.api.v3.model.reference.StravaGender, javastrava.api.v3.model.reference.StravaAgeGroup, javastrava.api.v3.model.reference.StravaWeightClass, java.lang.Boolean, java.lang.Integer, javastrava.api.v3.model.reference.StravaLeaderboardDateRange, javastrava.util.Paging, java.lang.Integer)public List<StravaStream> getSegmentStreams(Integer segmentId)
StreamService
Retrieve detailed geographical information streams about a specific StravaSegment.
Only distance, altitude and latlng stream types are available.
URL GET https://www.strava.com/api/v3/segments/:id/streams/:types
getSegmentStreams in interface StreamServicesegmentId - Segment identifiernull if the segment does not existStreamService.getSegmentStreams(java.lang.Integer)public List<StravaStream> getSegmentStreams(Integer segmentId, StravaStreamResolutionType resolution, StravaStreamSeriesDownsamplingType seriesType, StravaStreamType... types)
StreamService
Retrieve detailed geographical information streams about a specific StravaSegment.
Only distance, altitude and latlng stream types are available.
URL GET https://www.strava.com/api/v3/segments/:id/streams/:types
getSegmentStreams in interface StreamServicesegmentId - Segment identifiertypes - List of types, if the activity does not have that stream it will not be included in the responseresolution - (Optional) low (100), medium (1000) or high (10000), default is all, indicates desired number of data points, streams will only be down
sampledseriesType - (Optional) relevant only if using resolution. Either "time" or "distance", default is "distance", used to index the streams if the stream is
being reducednull if the segment does not existStreamService.getSegmentStreams(java.lang.Integer, javastrava.api.v3.model.reference.StravaStreamResolutionType,
javastrava.api.v3.model.reference.StravaStreamSeriesDownsamplingType, javastrava.api.v3.model.reference.StravaStreamType[])public CompletableFuture<List<StravaStream>> getSegmentStreamsAsync(Integer segmentId)
StreamService
Retrieve detailed geographical information streams about a specific StravaSegment.
Only distance, altitude and latlng stream types are available.
URL GET https://www.strava.com/api/v3/segments/:id/streams/:types
getSegmentStreamsAsync in interface StreamServicesegmentId - Segment identifiernull if the segment does not existStreamService.getSegmentStreamsAsync(java.lang.Integer)public CompletableFuture<List<StravaStream>> getSegmentStreamsAsync(Integer segmentId, StravaStreamResolutionType resolution, StravaStreamSeriesDownsamplingType seriesType, StravaStreamType... types)
StreamService
Retrieve detailed geographical information streams about a specific StravaSegment.
Only distance, altitude and latlng stream types are available.
URL GET https://www.strava.com/api/v3/segments/:id/streams/:types
getSegmentStreamsAsync in interface StreamServicesegmentId - Segment identifiertypes - List of types, if the activity does not have that stream it will not be included in the responseresolution - (Optional) low (100), medium (1000) or high (10000), default is all, indicates desired number of data points, streams will only be down
sampledseriesType - (Optional) relevant only if using resolution. Either "time" or "distance", default is "distance", used to index the streams if the stream is
being reducednull if the segment does not existStreamService.getSegmentStreamsAsync(java.lang.Integer, javastrava.api.v3.model.reference.StravaStreamResolutionType, javastrava.api.v3.model.reference.StravaStreamSeriesDownsamplingType, javastrava.api.v3.model.reference.StravaStreamType[])public void giveKudos(Integer activityId) throws NotFoundException
ActivityServiceKudo an activity (kudo is given by the authenticated athlete). You can do this multiple times, but the activity only receives one kudos.
giveKudos in interface ActivityServiceactivityId - Activity identifierNotFoundException - If the activity does not exist on StravaActivityService.giveKudos(java.lang.Integer)public CompletableFuture<Void> giveKudosAsync(Integer activityId) throws NotFoundException
ActivityServiceKudo an activity (kudo is given by the authenticated athlete). You can do this multiple times, but the activity only receives one kudos.
giveKudosAsync in interface ActivityServiceactivityId - Activity identifierCompletableFuture which indicates when the kudos has been givenNotFoundException - If the activity does not exist on StravaActivityService.giveKudosAsync(java.lang.Integer)public boolean hasAuthorisationScopes(AuthorisationScope... scopes)
scopes - Authorisation scopes to check are in the tokentrue if the token has all the identified scopes, false otherwisepublic boolean hasExactAuthorisationScopes(AuthorisationScope... scopes)
scopes - Authorisation scopes to check are in the tokentrue if the token has all the identified scopes AND NO MORE, false otherwisepublic StravaClubMembershipResponse joinClub(Integer clubId)
ClubServiceJoin a club on behalf of the authenticated user. An access token with write permissions is required.
joinClub in interface ClubServiceclubId - Club identifierClubService.joinClub(java.lang.Integer)public CompletableFuture<StravaClubMembershipResponse> joinClubAsync(Integer clubId)
ClubServiceJoin a club on behalf of the authenticated user. An access token with write permissions is required.
joinClubAsync in interface ClubServiceclubId - Club identifierClubService.joinClubAsync(java.lang.Integer)public StravaClubMembershipResponse leaveClub(Integer clubId)
ClubServiceLeave a club on behalf of the authenticated user. An access token with write permissions is required.
leaveClub in interface ClubServiceclubId - Club identifierClubService.leaveClub(java.lang.Integer)public CompletableFuture<StravaClubMembershipResponse> leaveClubAsync(Integer clubId)
ClubServiceLeave a club on behalf of the authenticated user. An access token with write permissions is required.
leaveClubAsync in interface ClubServiceclubId - Club identifierClubService.leaveClubAsync(java.lang.Integer)public List<StravaComment> listActivityComments(Integer activityId)
ActivityServiceComments on an activity can be viewed by any user. However, only internal applications are allowed to create or delete them.
Comment posting can be enabled on a per application basis, email developers -at- strava.com for more information.
The number of comments is included in the activity summary and detail responses. Use this endpoint to retrieve a list of comments left on a given activity.
Pagination is not supported. Only the first page is returned by Strava.
Returns null if the StravaActivity does not exist
Returns an empty array if the StravaActivity does not contain any comments
URL GET https://www.strava.com/api/v3/activities/:id/comments
listActivityComments in interface ActivityServiceactivityId - Activity identifiernull if the activity does not existActivityService.listActivityComments(java.lang.Integer)public List<StravaComment> listActivityComments(Integer activityId, Boolean markdown)
ActivityServiceComments on an activity can be viewed by any user. However, only internal applications are allowed to create or delete them.
StravaComment posting can be enabled on a per application basis, email developers -at- strava.com for more information.
The number of comments is included in the activity summary and detail responses. Use this endpoint to retrieve a list of comments left on a given activity.
Pagination is not supported. Only the first page is returned by Strava.
Returns null if the StravaActivity does not exist
Returns an empty array if the StravaActivity does not contain any comments
Pagination is not supported. Returns only the first page of activities.
URL GET https://www.strava.com/api/v3/activities/:id/comments
listActivityComments in interface ActivityServiceactivityId - Activity identifiermarkdown - Whether to include markdown in commentsnull if the activity does not existActivityService.listActivityComments(java.lang.Integer, java.lang.Boolean)public List<StravaComment> listActivityComments(Integer activityId, Boolean markdown, Paging pagingInstruction)
ActivityServiceComments on an activity can be viewed by any user. However, only internal applications are allowed to create or delete them.
StravaComment posting can be enabled on a per application basis, email developers -at- strava.com for more information.
The number of comments is included in the activity summary and detail responses. Use this endpoint to retrieve a list of comments left on a given activity.
Pagination is supported.
Returns null if the StravaActivity does not exist
Returns an empty array if the StravaActivity does not contain any comments
URL GET https://www.strava.com/api/v3/activities/:id/comments
listActivityComments in interface ActivityServiceactivityId - Activity identifiermarkdown - Whether to include markdown in commentspagingInstruction - Paging instructionnull if the activity does not existActivityService.listActivityComments(java.lang.Integer, java.lang.Boolean, javastrava.util.Paging)public List<StravaComment> listActivityComments(Integer activityId, Paging pagingInstruction)
ActivityServiceComments on an activity can be viewed by any user. However, only internal applications are allowed to create or delete them.
Comment posting can be enabled on a per application basis, email developers -at- strava.com for more information.
The number of comments is included in the activity summary and detail responses. Use this endpoint to retrieve a list of comments left on a given activity.
Pagination is supported.
Returns null if the StravaActivity does not exist
Returns an empty array if the StravaActivity does not contain any comments
URL GET https://www.strava.com/api/v3/activities/:id/comments
listActivityComments in interface ActivityServiceactivityId - Activity identifierpagingInstruction - Paging instructionnull if the activity does not existActivityService.listActivityComments(java.lang.Integer, javastrava.util.Paging)public CompletableFuture<List<StravaComment>> listActivityCommentsAsync(Integer activityId)
ActivityServiceComments on an activity can be viewed by any user. However, only internal applications are allowed to create or delete them.
Comment posting can be enabled on a per application basis, email developers -at- strava.com for more information.
The number of comments is included in the activity summary and detail responses. Use this endpoint to retrieve a list of comments left on a given activity.
Pagination is not supported. Only the first page is returned by Strava.
Returns null if the StravaActivity does not exist
Returns an empty array if the StravaActivity does not contain any comments
URL GET https://www.strava.com/api/v3/activities/:id/comments
listActivityCommentsAsync in interface ActivityServiceactivityId - Activity identifiernull if the activity does not existActivityService.listActivityCommentsAsync(java.lang.Integer)public CompletableFuture<List<StravaComment>> listActivityCommentsAsync(Integer activityId, Boolean markdown)
ActivityServiceComments on an activity can be viewed by any user. However, only internal applications are allowed to create or delete them.
StravaComment posting can be enabled on a per application basis, email developers -at- strava.com for more information.
The number of comments is included in the activity summary and detail responses. Use this endpoint to retrieve a list of comments left on a given activity.
Pagination is not supported. Only the first page is returned by Strava.
Returns null if the StravaActivity does not exist
Returns an empty array if the StravaActivity does not contain any comments
Pagination is not supported. Returns only the first page of activities.
URL GET https://www.strava.com/api/v3/activities/:id/comments
listActivityCommentsAsync in interface ActivityServiceactivityId - Activity identifiermarkdown - Whether to include markdown in commentsnull if the activity does not existActivityService.listActivityCommentsAsync(java.lang.Integer, java.lang.Boolean)public CompletableFuture<List<StravaComment>> listActivityCommentsAsync(Integer activityId, Boolean markdown, Paging pagingInstruction)
ActivityServiceComments on an activity can be viewed by any user. However, only internal applications are allowed to create or delete them.
StravaComment posting can be enabled on a per application basis, email developers -at- strava.com for more information.
The number of comments is included in the activity summary and detail responses. Use this endpoint to retrieve a list of comments left on a given activity.
Pagination is supported.
Returns null if the StravaActivity does not exist
Returns an empty array if the StravaActivity does not contain any comments
URL GET https://www.strava.com/api/v3/activities/:id/comments
listActivityCommentsAsync in interface ActivityServiceactivityId - Activity identifiermarkdown - Whether to include markdown in commentspagingInstruction - Paging instructionnull if the activity does not existActivityService.listActivityCommentsAsync(java.lang.Integer, java.lang.Boolean, javastrava.util.Paging)public CompletableFuture<List<StravaComment>> listActivityCommentsAsync(Integer activityId, Paging pagingInstruction)
ActivityServiceComments on an activity can be viewed by any user. However, only internal applications are allowed to create or delete them.
Comment posting can be enabled on a per application basis, email developers -at- strava.com for more information.
The number of comments is included in the activity summary and detail responses. Use this endpoint to retrieve a list of comments left on a given activity.
Pagination is supported.
Returns null if the StravaActivity does not exist
Returns an empty array if the StravaActivity does not contain any comments
URL GET https://www.strava.com/api/v3/activities/:id/comments
listActivityCommentsAsync in interface ActivityServiceactivityId - Activity identifierpagingInstruction - Paging instructionnull if the activity does not existActivityService.listActivityCommentsAsync(java.lang.Integer, javastrava.util.Paging)public List<StravaAthlete> listActivityKudoers(Integer activityId)
ActivityServiceA kudos is Strava's version of a 'like' or '+1'. The number of kudos on an activity is returned with the activity summary.
Kudos posting can be enabled on a per application basis, email developers -at- strava.com for more information.
The number of kudos is included in the activity summary and detailed representations. This endpoint is for retrieving more detailed information on the athletes who have left kudos and can only be accessed by the owner of the activity.
Returns null if the StravaActivity does not exist
Pagination is not supported. Only the first page is returned by Strava.
listActivityKudoers in interface ActivityServiceactivityId - Activity identifiernull if the activity does not existActivityService.listActivityKudoers(java.lang.Integer)public List<StravaAthlete> listActivityKudoers(Integer activityId, Paging pagingInstruction)
ActivityServiceA kudos is Strava's version of a 'like' or '+1'. The number of kudos on an activity is returned with the activity summary.
Kudos posting can be enabled on a per application basis, email developers -at- strava.com for more information.
The number of kudos is included in the activity summary and detailed representations. This endpoint is for retrieving more detailed information on the athletes who have left kudos and can only be accessed by the owner of the activity.
Returns null if the StravaActivity does not exist
Pagination is supported.
listActivityKudoers in interface ActivityServiceactivityId - Activity identifierpagingInstruction - Paging instructionnull if the activity does not existActivityService.listActivityKudoers(java.lang.Integer, javastrava.util.Paging)public CompletableFuture<List<StravaAthlete>> listActivityKudoersAsync(Integer activityId)
ActivityServiceA kudos is Strava's version of a 'like' or '+1'. The number of kudos on an activity is returned with the activity summary.
Kudos posting can be enabled on a per application basis, email developers -at- strava.com for more information.
The number of kudos is included in the activity summary and detailed representations. This endpoint is for retrieving more detailed information on the athletes who have left kudos and can only be accessed by the owner of the activity.
Returns null if the StravaActivity does not exist
Pagination is not supported. Only the first page is returned by Strava.
listActivityKudoersAsync in interface ActivityServiceactivityId - Activity identifiernull if the activity does not existActivityService.listActivityKudoersAsync(java.lang.Integer)public CompletableFuture<List<StravaAthlete>> listActivityKudoersAsync(Integer activityId, Paging pagingInstruction)
ActivityServiceA kudos is Strava's version of a 'like' or '+1'. The number of kudos on an activity is returned with the activity summary.
Kudos posting can be enabled on a per application basis, email developers -at- strava.com for more information.
The number of kudos is included in the activity summary and detailed representations. This endpoint is for retrieving more detailed information on the athletes who have left kudos and can only be accessed by the owner of the activity.
Returns null if the StravaActivity does not exist
Pagination is supported.
listActivityKudoersAsync in interface ActivityServiceactivityId - Activity identifierpagingInstruction - Paging instructionnull if the activity does not existActivityService.listActivityKudoersAsync(java.lang.Integer, javastrava.util.Paging)public List<StravaLap> listActivityLaps(Integer activityId)
ActivityServiceThis resource will return all laps for an activity. Laps are triggered by athletes using their respective devices, such as Garmin watches.
Returns null if the activity does not exist
Pagination is not supported. Returns all the laps for the activity.
URL GET https://www.strava.com/api/v3/activities/:id/laps
listActivityLaps in interface ActivityServiceactivityId - Activity identifiernull if the activity does not existActivityService.listActivityLaps(java.lang.Integer)public CompletableFuture<List<StravaLap>> listActivityLapsAsync(Integer activityId)
ActivityServiceThis resource will return all laps for an activity. Laps are triggered by athletes using their respective devices, such as Garmin watches.
Returns null if the activity does not exist
Pagination is not supported. Returns all the laps for the activity.
URL GET https://www.strava.com/api/v3/activities/:id/laps
listActivityLapsAsync in interface ActivityServiceactivityId - Activity identifiernull if the activity does not existActivityService.listActivityLapsAsync(java.lang.Integer)public List<StravaPhoto> listActivityPhotos(Integer activityId)
ActivityServicePhotos are external objects associated with an activity. Currently, the only external photo source is Instagram.
Note that Instagram does not provide taken_at information.
The number of photos is included in the activity summary and detail responses. Use this endpoint to retrieve a list of photos associated with this activity. This endpoint can only be accessed by the owner of the activity.
Returns null if the StravaActivity does not exist
Pagination is not supported. Returns all photos associated with the activity.
URL GET https://www.strava.com/api/v3/activities/:id/photos
listActivityPhotos in interface ActivityServiceactivityId - Activity identifiernull if the activity does not existActivityService.listActivityPhotos(java.lang.Integer)public CompletableFuture<List<StravaPhoto>> listActivityPhotosAsync(Integer activityId)
ActivityServicePhotos are external objects associated with an activity. Currently, the only external photo source is Instagram.
Note that Instagram does not provide taken_at information.
The number of photos is included in the activity summary and detail responses. Use this endpoint to retrieve a list of photos associated with this activity. This endpoint can only be accessed by the owner of the activity.
Returns null if the StravaActivity does not exist
Pagination is not supported. Returns all photos associated with the activity.
URL GET https://www.strava.com/api/v3/activities/:id/photos
listActivityPhotosAsync in interface ActivityServiceactivityId - Activity identifiernull if the activity does not existActivityService.listActivityPhotosAsync(java.lang.Integer)public List<StravaActivityZone> listActivityZones(Integer activityId)
ActivityService
Heartrate and power zones are set by the athlete. This endpoint returns the time (seconds) in each zone for the
activity.
The distribution is not customizable.
Requires an access token associated with the owner of the activity and the owner must be a premium user.
Returns null if the activity does not exist
Pagination is not supported. Returns all activity zones for the activity.
URL GET https://www.strava.com/api/v3/activities/:id/zones
listActivityZones in interface ActivityServiceactivityId - Activity identifiernull if the activity does not existActivityService.listActivityZones(java.lang.Integer)public CompletableFuture<List<StravaActivityZone>> listActivityZonesAsync(Integer activityId)
ActivityService
Heartrate and power zones are set by the athlete. This endpoint returns the time (seconds) in each zone for the
activity.
The distribution is not customizable.
Requires an access token associated with the owner of the activity and the owner must be a premium user.
Returns null if the activity does not exist
Pagination is not supported. Returns all activity zones for the activity.
URL GET https://www.strava.com/api/v3/activities/:id/zones
listActivityZonesAsync in interface ActivityServiceactivityId - Activity identifiernull if the activity does not existActivityService.listActivityZonesAsync(java.lang.Integer)public List<StravaComment> listAllActivityComments(Integer activityId)
USE WITH CAUTION - ACTIVITIES WITH MANY COMMENTS WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllActivityComments in interface ActivityServiceactivityId - Activity identifierActivityService.listAllActivityComments(java.lang.Integer)public CompletableFuture<List<StravaComment>> listAllActivityCommentsAsync(Integer activityId)
USE WITH CAUTION - ACTIVITIES WITH MANY COMMENTS WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllActivityCommentsAsync in interface ActivityServiceactivityId - Activity identifierActivityService.listAllActivityCommentsAsync(java.lang.Integer)public List<StravaAthlete> listAllActivityKudoers(Integer activityId)
USE WITH CAUTION - ACTIVITIES WITH MANY KUDOERS WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllActivityKudoers in interface ActivityServiceactivityId - Activity identifierActivityService.listAllActivityKudoers(java.lang.Integer)public CompletableFuture<List<StravaAthlete>> listAllActivityKudoersAsync(Integer activityId)
USE WITH CAUTION - ACTIVITIES WITH MANY KUDOERS WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllActivityKudoersAsync in interface ActivityServiceactivityId - Activity identifierActivityService.listAllActivityKudoersAsync(java.lang.Integer)public List<StravaAthlete> listAllAthleteFriends(Integer athleteId)
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllAthleteFriends in interface AthleteServiceathleteId - Athlete identifiernull if the athlete does not existAthleteService.listAllAthleteFriends(java.lang.Integer)public CompletableFuture<List<StravaAthlete>> listAllAthleteFriendsAsync(Integer athleteId)
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllAthleteFriendsAsync in interface AthleteServiceathleteId - Athlete identifiernull if the athlete does not existAthleteService.listAllAthleteFriendsAsync(java.lang.Integer)public List<StravaSegmentEffort> listAllAthleteKOMs(Integer athleteId)
USE WITH CAUTION - ATHLETES WITH MANY KOMS WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllAthleteKOMs in interface AthleteServiceathleteId - Athlete identifiernull if the athlete does not existAthleteService.listAllAthleteKOMs(java.lang.Integer)public CompletableFuture<List<StravaSegmentEffort>> listAllAthleteKOMsAsync(Integer athleteId)
USE WITH CAUTION - ATHLETES WITH MANY KOMS WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllAthleteKOMsAsync in interface AthleteServiceathleteId - Athlete identifiernull if the athlete does not existAthleteService.listAllAthleteKOMsAsync(java.lang.Integer)public List<StravaAthlete> listAllAthletesBothFollowing(Integer athleteId)
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllAthletesBothFollowing in interface AthleteServiceathleteId - Athlete identifierAthleteService.listAllAthletesBothFollowing(java.lang.Integer)public CompletableFuture<List<StravaAthlete>> listAllAthletesBothFollowingAsync(Integer athleteId)
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllAthletesBothFollowingAsync in interface AthleteServiceathleteId - Athlete identifierAthleteService.listAllAthletesBothFollowingAsync(java.lang.Integer)public List<StravaActivity> listAllAuthenticatedAthleteActivities()
USE WITH CAUTION - ATHLETES WITH MANY ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllAuthenticatedAthleteActivities in interface ActivityServiceActivityService.listAllAuthenticatedAthleteActivities()public List<StravaActivity> listAllAuthenticatedAthleteActivities(LocalDateTime before, LocalDateTime after)
USE WITH CAUTION - ATHLETES WITH MANY ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllAuthenticatedAthleteActivities in interface ActivityServicebefore - Only return activities before this date/timeafter - Only return activities after this date/timeActivityService.listAllAuthenticatedAthleteActivities(LocalDateTime, LocalDateTime)public CompletableFuture<List<StravaActivity>> listAllAuthenticatedAthleteActivitiesAsync()
USE WITH CAUTION - ATHLETES WITH MANY ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllAuthenticatedAthleteActivitiesAsync in interface ActivityServiceActivityService.listAllAuthenticatedAthleteActivitiesAsync()public CompletableFuture<List<StravaActivity>> listAllAuthenticatedAthleteActivitiesAsync(LocalDateTime before, LocalDateTime after)
USE WITH CAUTION - ATHLETES WITH MANY ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllAuthenticatedAthleteActivitiesAsync in interface ActivityServicebefore - Only return activities before this date/timeafter - Only return activities after this date/timeActivityService.listAllAuthenticatedAthleteActivitiesAsync(java.time.LocalDateTime, java.time.LocalDateTime)public List<StravaAthlete> listAllAuthenticatedAthleteFriends()
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllAuthenticatedAthleteFriends in interface AthleteServiceAthleteService.listAllAuthenticatedAthleteFriends()public CompletableFuture<List<StravaAthlete>> listAllAuthenticatedAthleteFriendsAsync()
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllAuthenticatedAthleteFriendsAsync in interface AthleteServiceAthleteService.listAllAuthenticatedAthleteFriendsAsync()public List<StravaSegment> listAllAuthenticatedAthleteStarredSegments()
SegmentService
Returns a summary representation of ALL the segments starred by the authenticated
athlete.
Pagination is NOT supported.
URL GET https://www.strava.com/api/v3/segments/starred
listAllAuthenticatedAthleteStarredSegments in interface SegmentServiceSegmentService.listAllAuthenticatedAthleteStarredSegments()public CompletableFuture<List<StravaSegment>> listAllAuthenticatedAthleteStarredSegmentsAsync()
SegmentService
Returns a summary representation of ALL the segments starred by the authenticated
athlete.
Pagination is NOT supported.
URL GET https://www.strava.com/api/v3/segments/starred
listAllAuthenticatedAthleteStarredSegmentsAsync in interface SegmentServiceSegmentService.listAllAuthenticatedAthleteStarredSegmentsAsync()public List<StravaAthlete> listAllClubMembers(Integer clubId)
USE WITH CAUTION - CLUBS WITH MANY MEMBERS WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllClubMembers in interface ClubServiceclubId - Club identifiernull if the club does not existClubService.listAllClubMembers(java.lang.Integer)public CompletableFuture<List<StravaAthlete>> listAllClubMembersAsync(Integer clubId)
USE WITH CAUTION - CLUBS WITH MANY MEMBERS WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllClubMembersAsync in interface ClubServiceclubId - Club identifiernull if the club does not existClubService.listAllClubMembersAsync(java.lang.Integer)public List<StravaActivity> listAllFriendsActivities()
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS' ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllFriendsActivities in interface ActivityServiceActivityService.listAllFriendsActivities()public CompletableFuture<List<StravaActivity>> listAllFriendsActivitiesAsync()
USE WITH CAUTION - ATHLETES WITH MANY FRIENDS' ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllFriendsActivitiesAsync in interface ActivityServiceActivityService.listAllFriendsActivitiesAsync()public List<StravaActivity> listAllRecentClubActivities(Integer clubId)
ClubService
Retrieve ALL the recent activities performed by member athletes of a specific club.
The authenticated athlete must be a member of the club.
Returns null if club with the given id does not exist
Returns an empty list if the authorised athlete is not a member of the club
Pagination is supported. However, the results are limited to the last 200 total activities by club members.
listAllRecentClubActivities in interface ClubServiceclubId - Club identifiernull if the club does not existClubService.listAllRecentClubActivities(java.lang.Integer)public CompletableFuture<List<StravaActivity>> listAllRecentClubActivitiesAsync(Integer clubId)
ClubService
Retrieve ALL the recent activities performed by member athletes of a specific club.
The authenticated athlete must be a member of the club.
Returns null if club with the given id does not exist
Returns an empty list if the authorised athlete is not a member of the club
Pagination is supported. However, the results are limited to the last 200 total activities by club members.
listAllRecentClubActivitiesAsync in interface ClubServiceclubId - Club identifiernull if the club does not existClubService.listAllRecentClubActivitiesAsync(java.lang.Integer)public List<StravaActivity> listAllRelatedActivities(Integer activityId)
USE WITH CAUTION - ACTIVITIES WITH MANY RELATED ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllRelatedActivities in interface ActivityServiceactivityId - Activity identifierActivityService.listAllRelatedActivities(java.lang.Integer)public CompletableFuture<List<StravaActivity>> listAllRelatedActivitiesAsync(Integer activityId)
USE WITH CAUTION - ACTIVITIES WITH MANY RELATED ACTIVITIES WILL REQUIRE MANY CALLS TO THE STRAVA API
listAllRelatedActivitiesAsync in interface ActivityServiceactivityId - Activity identifierActivityService.listAllRelatedActivitiesAsync(java.lang.Integer)public List<StravaSegmentEffort> listAllSegmentEfforts(Integer segmentId)
USE WITH CAUTION - POPULAR SEGMENTS CAN HAVE TENS OF THOUSANDS OF EFFORTS, REQUIRING A VERY LARGE NUMBER OF CALLS TO THE STRAVA API
listAllSegmentEfforts in interface SegmentServicesegmentId - Segment identifiernull if the segment does not existSegmentService.listAllSegmentEfforts(java.lang.Integer)public List<StravaSegmentEffort> listAllSegmentEfforts(Integer segmentId, Integer athleteId, LocalDateTime startDate, LocalDateTime endDate)
SegmentService
Retrieve an array of segment efforts, for a given StravaSegment, filtered by StravaAthlete and/or a date
range.
Filtering parameters, like athlete_id, start_date_local and end_date_local, are optional. If they are not provided all efforts for the segment will be returned.
Date range filtering is accomplished using an inclusive start and end time, thus start_date_local and end_date_local must be sent together. For open ended ranges pick dates significantly in the past or future. The filtering is done over local time for the segment, so there is no need for timezone conversion. For example, all efforts on Jan. 1st, 2014 for a segment in San Francisco, CA can be fetched using 2014-01-01T00:00:00Z and 2014-01-01T23:59:59Z.
Pagination is NOT supported. All segment efforts will be returned.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/all_efforts
listAllSegmentEfforts in interface SegmentServicesegmentId - Segment identifierathleteId - (Optional) Athlete identifierstartDate - (Optional) Do not return activities before this date/timeendDate - (Optional) Do not return activities after this date/timenull if the segment or athlete do not existSegmentService.listAllSegmentEfforts(java.lang.Integer, java.lang.Integer, LocalDateTime, LocalDateTime)public CompletableFuture<List<StravaSegmentEffort>> listAllSegmentEffortsAsync(Integer segmentId)
USE WITH CAUTION - POPULAR SEGMENTS CAN HAVE TENS OF THOUSANDS OF EFFORTS, REQUIRING A VERY LARGE NUMBER OF CALLS TO THE STRAVA API
listAllSegmentEffortsAsync in interface SegmentServicesegmentId - Segment identifiernull if the segment does not existSegmentService.listAllSegmentEffortsAsync(java.lang.Integer)public CompletableFuture<List<StravaSegmentEffort>> listAllSegmentEffortsAsync(Integer segmentId, Integer athleteId, LocalDateTime startDate, LocalDateTime endDate)
SegmentService
Retrieve an array of segment efforts, for a given StravaSegment, filtered by StravaAthlete and/or a date
range.
Filtering parameters, like athlete_id, start_date_local and end_date_local, are optional. If they are not provided all efforts for the segment will be returned.
Date range filtering is accomplished using an inclusive start and end time, thus start_date_local and end_date_local must be sent together. For open ended ranges pick dates significantly in the past or future. The filtering is done over local time for the segment, so there is no need for timezone conversion. For example, all efforts on Jan. 1st, 2014 for a segment in San Francisco, CA can be fetched using 2014-01-01T00:00:00Z and 2014-01-01T23:59:59Z.
Pagination is NOT supported. All segment efforts will be returned.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/all_efforts
listAllSegmentEffortsAsync in interface SegmentServicesegmentId - Segment identifierathleteId - (Optional) Athlete identifierstartDate - (Optional) Do not return activities before this date/timeendDate - (Optional) Do not return activities after this date/timenull if the segment or athlete do not existSegmentService.listAllSegmentEffortsAsync(java.lang.Integer, java.lang.Integer, java.time.LocalDateTime, java.time.LocalDateTime)public List<StravaSegment> listAllStarredSegments(Integer athleteId)
SegmentService
Returns a summary representation of ALL the segments starred by the identified
athlete.
Pagination is NOT supported. Returns ALL starred segments.
Returns null if the athlete with the given id does not exist.
URL GET https://www.strava.com/api/v3/segments/starred
listAllStarredSegments in interface SegmentServiceathleteId - Athlete identifiernull if the athlete does not existSegmentService.listAllStarredSegments(java.lang.Integer)public CompletableFuture<List<StravaSegment>> listAllStarredSegmentsAsync(Integer athleteId)
SegmentService
Returns a summary representation of ALL the segments starred by the identified
athlete.
Pagination is NOT supported. Returns ALL starred segments.
Returns null if the athlete with the given id does not exist.
URL GET https://www.strava.com/api/v3/segments/starred
listAllStarredSegmentsAsync in interface SegmentServiceathleteId - Athlete identifiernull if the athlete does not existSegmentService.listAllStarredSegmentsAsync(java.lang.Integer)public List<StravaAthlete> listAthleteFriends(Integer athleteId)
AthleteService
Friends are users an athlete is following. The activities owned by these users will appear in the current athlete's activity feed.
If the indicated athlete has blocked the authenticated athlete, the result will be an empty array.
Pagination is not supported. Returns only the first page of athletes.
Returns null if athlete with the given id is not found.
URL GET https://www.strava.com/api/v3/athletes/:id/friends
listAthleteFriends in interface AthleteServiceathleteId - Athlete identifiernull if the identified athlete does not existAthleteService.listAthleteFriends(java.lang.Integer)public List<StravaAthlete> listAthleteFriends(Integer athleteId, Paging pagingInstruction)
AthleteService
Friends are users an athlete is following. The activities owned by these users will appear in the current athlete's activity feed.
If the indicated athlete has blocked the authenticated athlete, the result will be an empty array.
Pagination is supported.
Returns null if athlete with the given id is not found.
URL GET https://www.strava.com/api/v3/athletes/:id/friends
listAthleteFriends in interface AthleteServiceathleteId - Athlete identifierpagingInstruction - Paging instructionnull if the identified athlete does not existAthleteService.listAthleteFriends(java.lang.Integer, javastrava.util.Paging)public CompletableFuture<List<StravaAthlete>> listAthleteFriendsAsync(Integer athleteId)
AthleteService
Friends are users an athlete is following. The activities owned by these users will appear in the current athlete's activity feed.
If the indicated athlete has blocked the authenticated athlete, the result will be an empty array.
Pagination is not supported. Returns only the first page of athletes.
Returns null if athlete with the given id is not found.
URL GET https://www.strava.com/api/v3/athletes/:id/friends
listAthleteFriendsAsync in interface AthleteServiceathleteId - Athlete identifiernull if the identified athlete does not existAthleteService.listAthleteFriendsAsync(java.lang.Integer)public CompletableFuture<List<StravaAthlete>> listAthleteFriendsAsync(Integer athleteId, Paging pagingInstruction)
AthleteService
Friends are users an athlete is following. The activities owned by these users will appear in the current athlete's activity feed.
If the indicated athlete has blocked the authenticated athlete, the result will be an empty array.
Pagination is supported.
Returns null if athlete with the given id is not found.
URL GET https://www.strava.com/api/v3/athletes/:id/friends
listAthleteFriendsAsync in interface AthleteServiceathleteId - Athlete identifierpagingInstruction - Paging instructionnull if the identified athlete does not existAthleteService.listAthleteFriendsAsync(java.lang.Integer, javastrava.util.Paging)public List<StravaSegmentEffort> listAthleteKOMs(Integer athleteId)
AthleteService
Returns an array of segment efforts representing KOMs/QOMs and course records held by the given athlete.
Results are sorted by date, newest first.
Pagination is not supported.
Returns null if athlete with the given id is not found.
URL GET https://www.strava.com/api/v3/athletes/:id/koms
listAthleteKOMs in interface AthleteServiceathleteId - Athlete identifierAthleteService.listAthleteKOMs(java.lang.Integer)public List<StravaSegmentEffort> listAthleteKOMs(Integer athleteId, Paging pagingInstruction)
AthleteService
Returns an array of segment efforts representing KOMs/QOMs and course records held by the given athlete.
Results are sorted by date, newest first.
Pagination is supported.
Returns null if athlete with the given id is not found.
URL GET https://www.strava.com/api/v3/athletes/:id/koms
listAthleteKOMs in interface AthleteServiceathleteId - Athlete identifierpagingInstruction - Paging instructionAthleteService.listAthleteKOMs(java.lang.Integer, javastrava.util.Paging)public CompletableFuture<List<StravaSegmentEffort>> listAthleteKOMsAsync(Integer athleteId)
AthleteService
Returns an array of segment efforts representing KOMs/QOMs and course records held by the given athlete.
Results are sorted by date, newest first.
Pagination is not supported.
Returns null if athlete with the given id is not found.
URL GET https://www.strava.com/api/v3/athletes/:id/koms
listAthleteKOMsAsync in interface AthleteServiceathleteId - Athlete identifierAthleteService.listAthleteKOMsAsync(java.lang.Integer)public CompletableFuture<List<StravaSegmentEffort>> listAthleteKOMsAsync(Integer athleteId, Paging pagingInstruction)
AthleteService
Returns an array of segment efforts representing KOMs/QOMs and course records held by the given athlete.
Results are sorted by date, newest first.
Pagination is supported.
Returns null if athlete with the given id is not found.
URL GET https://www.strava.com/api/v3/athletes/:id/koms
listAthleteKOMsAsync in interface AthleteServiceathleteId - Athlete identifierpagingInstruction - Paging instructionAthleteService.listAthleteKOMsAsync(java.lang.Integer, javastrava.util.Paging)public List<StravaAthlete> listAthletesBothFollowing(Integer athleteId)
AthleteService
Retrieve the athletes who both the authenticated athlete and the indicated athlete are following.
Pagination is not supported. Returns only the first page of athletes.
Returns null if athlete with the given id is not found.
URL GET https://www.strava.com/api/v3/athletes/:id/both-following
listAthletesBothFollowing in interface AthleteServiceathleteId - Athlete identifiernull if the identified athlete does not existAthleteService.listAthletesBothFollowing(java.lang.Integer)public List<StravaAthlete> listAthletesBothFollowing(Integer athleteId, Paging pagingInstruction)
AthleteService
Retrieve the athletes who both the authenticated athlete and the indicated athlete are following.
Pagination is supported.
Returns null if athlete with the given id is not found.
URL GET https://www.strava.com/api/v3/athletes/:id/both-following
listAthletesBothFollowing in interface AthleteServiceathleteId - Athlete identifierpagingInstruction - Paging instructionnull if the identified athlete does not existAthleteService.listAthletesBothFollowing(java.lang.Integer, javastrava.util.Paging)public CompletableFuture<List<StravaAthlete>> listAthletesBothFollowingAsync(Integer athleteId)
AthleteService
Retrieve the athletes who both the authenticated athlete and the indicated athlete are following.
Pagination is not supported. Returns only the first page of athletes.
Returns null if athlete with the given id is not found.
URL GET https://www.strava.com/api/v3/athletes/:id/both-following
listAthletesBothFollowingAsync in interface AthleteServiceathleteId - Athlete identifiernull if the identified athlete does not existAthleteService.listAthletesBothFollowingAsync(java.lang.Integer)public CompletableFuture<List<StravaAthlete>> listAthletesBothFollowingAsync(Integer athleteId, Paging pagingInstruction)
AthleteService
Retrieve the athletes who both the authenticated athlete and the indicated athlete are following.
Pagination is supported.
Returns null if athlete with the given id is not found.
URL GET https://www.strava.com/api/v3/athletes/:id/both-following
listAthletesBothFollowingAsync in interface AthleteServiceathleteId - Athlete identifierpagingInstruction - Paging instructionnull if the identified athlete does not existAthleteService.listAthletesBothFollowingAsync(java.lang.Integer, javastrava.util.Paging)public List<StravaActivity> listAuthenticatedAthleteActivities()
ActivityService
This endpoint returns a list of activities for the authenticated StravaAthlete.
URL GET https://www.strava.com/api/v3/athlete/activities
Pagination is not supported. Returns only the first page of activities.
listAuthenticatedAthleteActivities in interface ActivityServiceActivityService.listAuthenticatedAthleteActivities()public List<StravaActivity> listAuthenticatedAthleteActivities(LocalDateTime before, LocalDateTime after)
ActivityService
This endpoint returns a list of activities for the authenticated StravaAthlete.
Pagination is not supported. Returns only the first page of activities.
URL GET https://www.strava.com/api/v3/athlete/activities
listAuthenticatedAthleteActivities in interface ActivityServicebefore - Only return activities before this date/timeafter - Only return activities after this date/timeActivityService.listAuthenticatedAthleteActivities(LocalDateTime, LocalDateTime)public List<StravaActivity> listAuthenticatedAthleteActivities(LocalDateTime before, LocalDateTime after, Paging pagingInstruction)
ActivityService
This endpoint returns a list of activities for the authenticated StravaAthlete.
Should be used with before, after or page/per_page. Using a combination will result in an error or unexpected results.
Pagination is supported.
URL GET https://www.strava.com/api/v3/athlete/activities
listAuthenticatedAthleteActivities in interface ActivityServicebefore - Only return activities before this date/timeafter - Only return activities after this date/timepagingInstruction - Paging instructionActivityService.listAuthenticatedAthleteActivities(LocalDateTime, LocalDateTime, javastrava.util.Paging)public List<StravaActivity> listAuthenticatedAthleteActivities(Paging pagingInstruction)
ActivityService
This endpoint returns a list of activities for the authenticated StravaAthlete.
URL GET https://www.strava.com/api/v3/athlete/activities
Pagination is supported
listAuthenticatedAthleteActivities in interface ActivityServicepagingInstruction - Paging instructionActivityService.listAuthenticatedAthleteActivities(javastrava.util.Paging)public CompletableFuture<List<StravaActivity>> listAuthenticatedAthleteActivitiesAsync()
ActivityService
This endpoint returns a list of activities for the authenticated StravaAthlete.
URL GET https://www.strava.com/api/v3/athlete/activities
Pagination is not supported. Returns only the first page of activities.
listAuthenticatedAthleteActivitiesAsync in interface ActivityServiceActivityService.listAuthenticatedAthleteActivitiesAsync()public CompletableFuture<List<StravaActivity>> listAuthenticatedAthleteActivitiesAsync(LocalDateTime before, LocalDateTime after)
ActivityService
This endpoint returns a list of activities for the authenticated StravaAthlete.
Pagination is not supported. Returns only the first page of activities.
URL GET https://www.strava.com/api/v3/athlete/activities
listAuthenticatedAthleteActivitiesAsync in interface ActivityServicebefore - Only return activities before this date/timeafter - Only return activities after this date/timeActivityService.listAuthenticatedAthleteActivitiesAsync(java.time.LocalDateTime, java.time.LocalDateTime)public CompletableFuture<List<StravaActivity>> listAuthenticatedAthleteActivitiesAsync(LocalDateTime before, LocalDateTime after, Paging pagingInstruction)
ActivityService
This endpoint returns a list of activities for the authenticated StravaAthlete.
Should be used with before, after or page/per_page. Using a combination will result in an error or unexpected results.
Pagination is supported.
URL GET https://www.strava.com/api/v3/athlete/activities
listAuthenticatedAthleteActivitiesAsync in interface ActivityServicebefore - Only return activities before this date/timeafter - Only return activities after this date/timepagingInstruction - Paging instructionActivityService.listAuthenticatedAthleteActivitiesAsync(java.time.LocalDateTime, java.time.LocalDateTime, javastrava.util.Paging)public CompletableFuture<List<StravaActivity>> listAuthenticatedAthleteActivitiesAsync(Paging pagingInstruction)
ActivityService
This endpoint returns a list of activities for the authenticated StravaAthlete.
URL GET https://www.strava.com/api/v3/athlete/activities
Pagination is supported
listAuthenticatedAthleteActivitiesAsync in interface ActivityServicepagingInstruction - Paging instructionActivityService.listAuthenticatedAthleteActivitiesAsync(javastrava.util.Paging)public List<StravaClub> listAuthenticatedAthleteClubs()
ClubService
Fetch an array of clubs that the currently authenticated athlete is a member of.
Pagination is not supported. Returns all clubs of which the athlete is a member.
URL GET https://www.strava.com/api/v3/athlete/clubs
listAuthenticatedAthleteClubs in interface ClubServiceClubService.listAuthenticatedAthleteClubs()public CompletableFuture<List<StravaClub>> listAuthenticatedAthleteClubsAsync()
ClubService
Fetch an array of clubs that the currently authenticated athlete is a member of.
Pagination is not supported. Returns all clubs of which the athlete is a member.
URL GET https://www.strava.com/api/v3/athlete/clubs
listAuthenticatedAthleteClubsAsync in interface ClubServiceClubService.listAuthenticatedAthleteClubsAsync()public List<StravaAthlete> listAuthenticatedAthleteFriends()
AthleteService
Friends are users the current athlete is following. The activities owned by these users will appear in the current athlete's
activity feed.
This request is for the authenticated athlete's friends.
Pagination is not supported. Returns only the first page of athletes.
URL GET https://www.strava.com/api/v3/athletes/friends
listAuthenticatedAthleteFriends in interface AthleteServiceAthleteService.listAuthenticatedAthleteFriends()public List<StravaAthlete> listAuthenticatedAthleteFriends(Paging pagingInstruction)
AthleteService
Friends are users the current athlete is following. The activities owned by these users will appear in the current athlete's
activity feed.
This request is for the authenticated athlete's friends.
Pagination is supported.
URL GET https://www.strava.com/api/v3/athletes/friends
listAuthenticatedAthleteFriends in interface AthleteServicepagingInstruction - Paging instructionAthleteService.listAuthenticatedAthleteFriends(javastrava.util.Paging)public CompletableFuture<List<StravaAthlete>> listAuthenticatedAthleteFriendsAsync()
AthleteService
Friends are users the current athlete is following. The activities owned by these users will appear in the current athlete's
activity feed.
This request is for the authenticated athlete's friends.
Pagination is not supported. Returns only the first page of athletes.
URL GET https://www.strava.com/api/v3/athletes/friends
listAuthenticatedAthleteFriendsAsync in interface AthleteServiceAthleteService.listAuthenticatedAthleteFriendsAsync()public CompletableFuture<List<StravaAthlete>> listAuthenticatedAthleteFriendsAsync(Paging pagingInstruction)
AthleteService
Friends are users the current athlete is following. The activities owned by these users will appear in the current athlete's
activity feed.
This request is for the authenticated athlete's friends.
Pagination is supported.
URL GET https://www.strava.com/api/v3/athletes/friends
listAuthenticatedAthleteFriendsAsync in interface AthleteServicepagingInstruction - Paging instructionAthleteService.listAuthenticatedAthleteFriendsAsync(javastrava.util.Paging)public List<StravaSegment> listAuthenticatedAthleteStarredSegments()
SegmentService
Returns a summary representation of the segments starred by the authenticated
athlete.
Pagination is NOT supported. Returns only the first page of segments.
URL GET https://www.strava.com/api/v3/segments/starred
listAuthenticatedAthleteStarredSegments in interface SegmentServiceSegmentService.listAuthenticatedAthleteStarredSegments()public List<StravaSegment> listAuthenticatedAthleteStarredSegments(Paging pagingInstruction)
SegmentService
Returns a summary representation of the segments starred by the authenticated
athlete.
Pagination is supported.
URL GET https://www.strava.com/api/v3/segments/starred
listAuthenticatedAthleteStarredSegments in interface SegmentServicepagingInstruction - Paging instructionSegmentService.listAuthenticatedAthleteStarredSegments(javastrava.util.Paging)public CompletableFuture<List<StravaSegment>> listAuthenticatedAthleteStarredSegmentsAsync()
SegmentService
Returns a summary representation of the segments starred by the authenticated
athlete.
Pagination is NOT supported. Returns only the first page of segments.
URL GET https://www.strava.com/api/v3/segments/starred
listAuthenticatedAthleteStarredSegmentsAsync in interface SegmentServiceSegmentService.listAuthenticatedAthleteStarredSegmentsAsync()public CompletableFuture<List<StravaSegment>> listAuthenticatedAthleteStarredSegmentsAsync(Paging pagingInstruction)
SegmentService
Returns a summary representation of the segments starred by the authenticated
athlete.
Pagination is supported.
URL GET https://www.strava.com/api/v3/segments/starred
listAuthenticatedAthleteStarredSegmentsAsync in interface SegmentServicepagingInstruction - Paging instructionSegmentService.listAuthenticatedAthleteStarredSegmentsAsync(javastrava.util.Paging)public List<StravaClubAnnouncement> listClubAnnouncements(Integer clubId)
ClubServiceAnnouncements are posts sent by Club Admins or Owners to the members of a club.
Only members of private clubs can access their announcements.
The objects are returned in summary representation.
Returns null if the club with the given id does not exist.
Returns an empty list if the club is private and the authorised athlete is not a member of the club
Pagination is not supported
listClubAnnouncements in interface ClubServiceclubId - The club id for which announcements should be returnedStravaClubAnnouncement for the given clubClubService.listClubAnnouncements(java.lang.Integer)public CompletableFuture<List<StravaClubAnnouncement>> listClubAnnouncementsAsync(Integer clubId)
ClubServiceAnnouncements are posts sent by Club Admins or Owners to the members of a club.
Only members of private clubs can access their announcements.
The objects are returned in summary representation.
Returns null if the club with the given id does not exist.
Returns an empty list if the club is private and the authorised athlete is not a member of the club
Pagination is not supported
listClubAnnouncementsAsync in interface ClubServiceclubId - The club id for which announcements should be returnedStravaClubAnnouncement for the given clubClubService.listClubAnnouncementsAsync(java.lang.Integer)public List<StravaClubEvent> listClubGroupEvents(Integer clubId)
Group Events are optionally recurring events for club members.
Only club members can access private club events.
The objects are returned in summary representation.
Pagination is NOT supported
listClubGroupEvents in interface ClubServiceclubId - Club identifierClubService.listClubGroupEvents(java.lang.Integer)public CompletableFuture<List<StravaClubEvent>> listClubGroupEventsAsync(Integer clubId)
Group Events are optionally recurring events for club members.
Only club members can access private club events.
The objects are returned in summary representation.
Pagination is NOT supported
listClubGroupEventsAsync in interface ClubServiceclubId - Club identifierClubService.listClubGroupEvents(java.lang.Integer)public List<StravaAthlete> listClubMembers(Integer clubId)
ClubService
Retrieve summary information about member athletes of a specific club.
Pagination is not supported. Returns only the first page of members.
Returns null if club with the given id does not exist
Returns an empty list if the club is private
URL GET https://www.strava.com/api/v3/clubs/:id/members
listClubMembers in interface ClubServiceclubId - Club identifiernull if the club does not existClubService.listClubMembers(java.lang.Integer)public List<StravaAthlete> listClubMembers(Integer clubId, Paging pagingInstruction)
ClubService
Retrieve summary information about member athletes of a specific club.
Pagination is supported.
Returns null if club with the given id does not exist
Returns an empty list if the club is private
URL GET https://www.strava.com/api/v3/clubs/:id/members
listClubMembers in interface ClubServiceclubId - Club identifierpagingInstruction - Paging instructionClubService.listClubMembers(java.lang.Integer, javastrava.util.Paging)public CompletableFuture<List<StravaAthlete>> listClubMembersAsync(Integer clubId)
ClubService
Retrieve summary information about member athletes of a specific club.
Pagination is not supported. Returns only the first page of members.
Returns null if club with the given id does not exist
Returns an empty list if the club is private
URL GET https://www.strava.com/api/v3/clubs/:id/members
listClubMembersAsync in interface ClubServiceclubId - Club identifiernull if the club does not existClubService.listClubMembersAsync(java.lang.Integer)public CompletableFuture<List<StravaAthlete>> listClubMembersAsync(Integer clubId, Paging pagingInstruction)
ClubService
Retrieve summary information about member athletes of a specific club.
Pagination is supported.
Returns null if club with the given id does not exist
Returns an empty list if the club is private
URL GET https://www.strava.com/api/v3/clubs/:id/members
listClubMembersAsync in interface ClubServiceclubId - Club identifierpagingInstruction - Paging instructionClubService.listClubMembersAsync(java.lang.Integer, javastrava.util.Paging)public List<StravaActivity> listFriendsActivities()
ActivityService
List the recent activities performed by those the current authenticated StravaAthlete is following.
Pagination is not supported. Only the first page is returned by Strava.
URL GET https://www.strava.com/api/v3/activities/following
listFriendsActivities in interface ActivityServiceActivityService.listFriendsActivities()public List<StravaActivity> listFriendsActivities(Paging pagingInstruction)
ActivityService
List the recent activities performed by those the current authenticated StravaAthlete is following.
Pagination is supported. However, results are limited to the last 200 total activities.
URL GET https://www.strava.com/api/v3/activities/following
listFriendsActivities in interface ActivityServicepagingInstruction - Paging instructionActivityService.listFriendsActivities(javastrava.util.Paging)public CompletableFuture<List<StravaActivity>> listFriendsActivitiesAsync()
ActivityService
List the recent activities performed by those the current authenticated StravaAthlete is following.
Pagination is not supported. Only the first page is returned by Strava.
URL GET https://www.strava.com/api/v3/activities/following
listFriendsActivitiesAsync in interface ActivityServiceActivityService.listFriendsActivitiesAsync()public CompletableFuture<List<StravaActivity>> listFriendsActivitiesAsync(Paging pagingInstruction)
ActivityService
List the recent activities performed by those the current authenticated StravaAthlete is following.
Pagination is supported. However, results are limited to the last 200 total activities.
URL GET https://www.strava.com/api/v3/activities/following
listFriendsActivitiesAsync in interface ActivityServicepagingInstruction - Paging instructionActivityService.listFriendsActivitiesAsync(javastrava.util.Paging)public List<StravaActivity> listRecentClubActivities(Integer clubId)
ClubService
Retrieve the recent activities performed by member athletes of a specific club.
The authenticated athlete must be a member of the club.
Pagination is NOT supported. Returns only the first page of activities.
Returns null if club with the given id does not exist
Returns an empty list if the authorised athlete is not a member of the club
listRecentClubActivities in interface ClubServiceclubId - Club identifiernull if the club does not existClubService.listRecentClubActivities(java.lang.Integer)public List<StravaActivity> listRecentClubActivities(Integer clubId, Paging pagingInstruction)
ClubService
Retrieve the recent activities performed by member athletes of a specific club.
The authenticated athlete must be a member of the club.
Returns null if club with the given id does not exist
Returns an empty list if the authorised athlete is not a member of the club
Pagination is supported. However, the results are limited to the last 200 total activities by club members.
listRecentClubActivities in interface ClubServiceclubId - Club identifierpagingInstruction - Paging instructionnull if the club does not exist. Note that Strava returns a maximum of 200 recent activities.ClubService.listRecentClubActivities(java.lang.Integer, javastrava.util.Paging)public CompletableFuture<List<StravaActivity>> listRecentClubActivitiesAsync(Integer clubId)
ClubService
Retrieve the recent activities performed by member athletes of a specific club.
The authenticated athlete must be a member of the club.
Pagination is NOT supported. Returns only the first page of activities.
Returns null if club with the given id does not exist
Returns an empty list if the authorised athlete is not a member of the club
listRecentClubActivitiesAsync in interface ClubServiceclubId - Club identifiernull if the club does not existClubService.listRecentClubActivitiesAsync(java.lang.Integer)public CompletableFuture<List<StravaActivity>> listRecentClubActivitiesAsync(Integer clubId, Paging pagingInstruction)
ClubService
Retrieve the recent activities performed by member athletes of a specific club.
The authenticated athlete must be a member of the club.
Returns null if club with the given id does not exist
Returns an empty list if the authorised athlete is not a member of the club
Pagination is supported. However, the results are limited to the last 200 total activities by club members.
listRecentClubActivitiesAsync in interface ClubServiceclubId - Club identifierpagingInstruction - Paging instructionnull if the club does not exist. Note that Strava returns a maximum of 200 recent activities.ClubService.listRecentClubActivitiesAsync(java.lang.Integer, javastrava.util.Paging)public List<StravaActivity> listRelatedActivities(Integer activityId)
ActivityServiceReturns the activities that were matched as "with this group". The number equals activity.athlete_count-1.
Returns null if the StravaActivity does not exist
Pagination is not supported. Only the first page is returned by Strava.
listRelatedActivities in interface ActivityServiceactivityId - Activity identifiernull if the activity does not existActivityService.listRelatedActivities(java.lang.Integer)public List<StravaActivity> listRelatedActivities(Integer activityId, Paging pagingInstruction)
ActivityServiceReturns the activities that were matched as "with this group". The number equals activity.athlete_count-1.
Returns null if the StravaActivity does not exist
Pagination is supported.
listRelatedActivities in interface ActivityServiceactivityId - Activity identifierpagingInstruction - Paging instructionnull if the activity does not existActivityService.listRelatedActivities(java.lang.Integer, javastrava.util.Paging)public CompletableFuture<List<StravaActivity>> listRelatedActivitiesAsync(Integer activityId)
ActivityServiceReturns the activities that were matched as "with this group". The number equals activity.athlete_count-1.
Returns null if the StravaActivity does not exist
Pagination is not supported. Only the first page is returned by Strava.
listRelatedActivitiesAsync in interface ActivityServiceactivityId - Activity identifiernull if the activity does not existActivityService.listRelatedActivitiesAsync(java.lang.Integer)public CompletableFuture<List<StravaActivity>> listRelatedActivitiesAsync(Integer activityId, Paging pagingInstruction)
ActivityServiceReturns the activities that were matched as "with this group". The number equals activity.athlete_count-1.
Returns null if the StravaActivity does not exist
Pagination is supported.
listRelatedActivitiesAsync in interface ActivityServiceactivityId - Activity identifierpagingInstruction - Paging instructionnull if the activity does not existActivityService.listRelatedActivitiesAsync(java.lang.Integer, javastrava.util.Paging)public List<StravaSegmentEffort> listSegmentEfforts(Integer segmentId)
SegmentService
Retrieve an array of segment efforts, for a given StravaSegment.
Pagination is NOT supported. Returns only the first page of segment efforts.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/all_efforts
listSegmentEfforts in interface SegmentServicesegmentId - Segment identifiersegment effort summary representations sorted by start_date_local
ascending. If the segment does not exist, then returns nullSegmentService.listSegmentEfforts(java.lang.Integer)public List<StravaSegmentEffort> listSegmentEfforts(Integer segmentId, Integer athleteId, LocalDateTime startDateLocal, LocalDateTime endDateLocal)
SegmentService
Retrieve an array of segment efforts, for a given StravaSegment, filtered by StravaAthlete and/or a date
range.
Filtering parameters, like athlete_id, start_date_local and end_date_local, are optional. If they are not provided all efforts for the segment will be returned.
Date range filtering is accomplished using an inclusive start and end time, thus start_date_local and end_date_local must be sent together. For open ended ranges pick dates significantly in the past or future. The filtering is done over local time for the segment, so there is no need for timezone conversion. For example, all efforts on Jan. 1st, 2014 for a segment in San Francisco, CA can be fetched using 2014-01-01T00:00:00Z and 2014-01-01T23:59:59Z.
Pagination is NOT supported. Returns only the first page of segment efforts.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/all_efforts
listSegmentEfforts in interface SegmentServicesegmentId - The id of the StravaSegment for which segment efforts are to be returnedathleteId - (Optional) id of the StravaAthlete to filter results bystartDateLocal - (Optional) Return only efforts after this date/timeendDateLocal - (Optional) Return only efforts before this date/timesegment effort summary representations sorted by start_date_local
ascending or by elapsed time if an athleteId is provided. If the segment or athlete do not exist, then returns nullSegmentService.listSegmentEfforts(java.lang.Integer, java.lang.Integer, LocalDateTime, LocalDateTime)public List<StravaSegmentEffort> listSegmentEfforts(Integer segmentId, Integer athleteId, LocalDateTime startDateLocal, LocalDateTime endDateLocal, Paging pagingInstruction)
SegmentService
Retrieve an array of segment efforts, for a given StravaSegment, filtered by StravaAthlete and/or a date
range.
Filtering parameters, like athlete_id, start_date_local and end_date_local, are optional. If they are not provided all efforts for the segment will be returned.
Date range filtering is accomplished using an inclusive start and end time, thus start_date_local and end_date_local must be sent together. For open ended ranges pick dates significantly in the past or future. The filtering is done over local time for the segment, so there is no need for timezone conversion. For example, all efforts on Jan. 1st, 2014 for a segment in San Francisco, CA can be fetched using 2014-01-01T00:00:00Z and 2014-01-01T23:59:59Z.
Pagination is supported.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/all_efforts
listSegmentEfforts in interface SegmentServicesegmentId - The id of the StravaSegment for which segment efforts are to be returnedathleteId - (Optional) id of the StravaAthlete to filter results bystartDateLocal - (Optional) Return only efforts after this date/timeendDateLocal - (Optional) Return only efforts before this date/timepagingInstruction - (Optional) Paging instructionsegment effort summary representations sorted by start_date_local
ascending or by elapsed time if an athleteId is provided. If the segment or athlete do not exist, then returns nullSegmentService.listSegmentEfforts(java.lang.Integer, java.lang.Integer, LocalDateTime, LocalDateTime,
javastrava.util.Paging)public List<StravaSegmentEffort> listSegmentEfforts(Integer segmentId, Paging pagingInstruction)
SegmentService
Retrieve an array of segment efforts, for a given StravaSegment.
Pagination is supported.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/all_efforts
listSegmentEfforts in interface SegmentServicesegmentId - Segment identifierpagingInstruction - Paging instructionsegment effort summary representations sorted by start_date_local
ascending. If the segment does not exist, then returns nullSegmentService.listSegmentEfforts(java.lang.Integer, javastrava.util.Paging)public CompletableFuture<List<StravaSegmentEffort>> listSegmentEffortsAsync(Integer segmentId)
SegmentService
Retrieve an array of segment efforts, for a given StravaSegment.
Pagination is NOT supported. Returns only the first page of segment efforts.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/all_efforts
listSegmentEffortsAsync in interface SegmentServicesegmentId - Segment identifiersegment effort summary representations sorted by start_date_local
ascending. If the segment does not exist, then returns nullSegmentService.listSegmentEffortsAsync(java.lang.Integer)public CompletableFuture<List<StravaSegmentEffort>> listSegmentEffortsAsync(Integer segmentId, Integer athleteId, LocalDateTime startDateLocal, LocalDateTime endDateLocal)
SegmentService
Retrieve an array of segment efforts, for a given StravaSegment, filtered by StravaAthlete and/or a date
range.
Filtering parameters, like athlete_id, start_date_local and end_date_local, are optional. If they are not provided all efforts for the segment will be returned.
Date range filtering is accomplished using an inclusive start and end time, thus start_date_local and end_date_local must be sent together. For open ended ranges pick dates significantly in the past or future. The filtering is done over local time for the segment, so there is no need for timezone conversion. For example, all efforts on Jan. 1st, 2014 for a segment in San Francisco, CA can be fetched using 2014-01-01T00:00:00Z and 2014-01-01T23:59:59Z.
Pagination is NOT supported. Returns only the first page of segment efforts.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/all_efforts
listSegmentEffortsAsync in interface SegmentServicesegmentId - The id of the StravaSegment for which segment efforts are to be returnedathleteId - (Optional) id of the StravaAthlete to filter results bystartDateLocal - (Optional) Return only efforts after this date/timeendDateLocal - (Optional) Return only efforts before this date/timesegment effort summary representations sorted by start_date_local
ascending or by elapsed time if an athleteId is provided. If the segment or athlete do not exist, then returns nullSegmentService.listSegmentEffortsAsync(java.lang.Integer, java.lang.Integer, java.time.LocalDateTime, java.time.LocalDateTime)public CompletableFuture<List<StravaSegmentEffort>> listSegmentEffortsAsync(Integer segmentId, Integer athleteId, LocalDateTime startDateLocal, LocalDateTime endDateLocal, Paging pagingInstruction)
SegmentService
Retrieve an array of segment efforts, for a given StravaSegment, filtered by StravaAthlete and/or a date
range.
Filtering parameters, like athlete_id, start_date_local and end_date_local, are optional. If they are not provided all efforts for the segment will be returned.
Date range filtering is accomplished using an inclusive start and end time, thus start_date_local and end_date_local must be sent together. For open ended ranges pick dates significantly in the past or future. The filtering is done over local time for the segment, so there is no need for timezone conversion. For example, all efforts on Jan. 1st, 2014 for a segment in San Francisco, CA can be fetched using 2014-01-01T00:00:00Z and 2014-01-01T23:59:59Z.
Pagination is supported.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/all_efforts
listSegmentEffortsAsync in interface SegmentServicesegmentId - The id of the StravaSegment for which segment efforts are to be returnedathleteId - (Optional) id of the StravaAthlete to filter results bystartDateLocal - (Optional) Return only efforts after this date/timeendDateLocal - (Optional) Return only efforts before this date/timepagingInstruction - (Optional) Paging instructionsegment effort summary representations sorted by start_date_local
ascending or by elapsed time if an athleteId is provided. If the segment or athlete do not exist, then returns nullSegmentService.listSegmentEffortsAsync(java.lang.Integer, java.lang.Integer, java.time.LocalDateTime, java.time.LocalDateTime, javastrava.util.Paging)public CompletableFuture<List<StravaSegmentEffort>> listSegmentEffortsAsync(Integer segmentId, Paging pagingInstruction)
SegmentService
Retrieve an array of segment efforts, for a given StravaSegment.
Pagination is supported.
Returns null if the segment does not exist.
URL GET https://www.strava.com/api/v3/segments/:id/all_efforts
listSegmentEffortsAsync in interface SegmentServicesegmentId - Segment identifierpagingInstruction - Paging instructionsegment effort summary representations sorted by start_date_local
ascending. If the segment does not exist, then returns nullSegmentService.listSegmentEffortsAsync(java.lang.Integer, javastrava.util.Paging)public List<StravaSegment> listStarredSegments(Integer athleteId)
SegmentService
Returns a summary representation of the segments starred by the identified
athlete.
Pagination is NOT supported. Returns only the first page of segments
Returns null if the athlete with the given id does not exist.
URL GET https://www.strava.com/api/v3/segments/starred
listStarredSegments in interface SegmentServiceathleteId - Athlete identifiernull if the athlete does not existSegmentService.listStarredSegments(java.lang.Integer)public List<StravaSegment> listStarredSegments(Integer athleteId, Paging pagingInstruction)
SegmentService
Returns a summary representation of the segments starred by the identified
athlete.
Pagination is supported.
Returns null if the athlete with the given id does not exist.
URL GET https://www.strava.com/api/v3/segments/starred
listStarredSegments in interface SegmentServiceathleteId - Athlete identifierpagingInstruction - Paging instructionnull if the athlete does not existSegmentService.listStarredSegments(java.lang.Integer, javastrava.util.Paging)public CompletableFuture<List<StravaSegment>> listStarredSegmentsAsync(Integer athleteId)
SegmentService
Returns a summary representation of the segments starred by the identified
athlete.
Pagination is NOT supported. Returns only the first page of segments
Returns null if the athlete with the given id does not exist.
URL GET https://www.strava.com/api/v3/segments/starred
listStarredSegmentsAsync in interface SegmentServiceathleteId - Athlete identifiernull if the athlete does not existSegmentService.listStarredSegmentsAsync(java.lang.Integer)public CompletableFuture<List<StravaSegment>> listStarredSegmentsAsync(Integer athleteId, Paging pagingInstruction)
SegmentService
Returns a summary representation of the segments starred by the identified
athlete.
Pagination is supported.
Returns null if the athlete with the given id does not exist.
URL GET https://www.strava.com/api/v3/segments/starred
listStarredSegmentsAsync in interface SegmentServiceathleteId - Athlete identifierpagingInstruction - Paging instructionnull if the athlete does not existSegmentService.listStarredSegmentsAsync(java.lang.Integer, javastrava.util.Paging)public List<StravaEventSubscription> listSubscriptions()
This request is used to retrieve the summary representations of the subscriptions in place for the current application.
listSubscriptions in interface WebhookServiceWebhookService.listSubscriptions()public CompletableFuture<List<StravaEventSubscription>> listSubscriptionsAsync()
This request is used to retrieve the summary representations of the subscriptions in place for the current application.
listSubscriptionsAsync in interface WebhookServiceWebhookService.listSubscriptionsAsync()public StravaSegmentExplorerResponse segmentExplore(StravaMapPoint southwestCorner, StravaMapPoint northeastCorner, StravaSegmentExplorerActivityType activityType, StravaClimbCategory minCat, StravaClimbCategory maxCat)
SegmentServiceThis endpoint can be used to find popular segments within a given area (defined by the southwest and northeast corners of the area).
Pagination is not supported. Returns up to 10 segments only.
URL GET https://www.strava.com/api/v3/segments/explore
segmentExplore in interface SegmentServicesouthwestCorner - Location of the southwest corner of the area to be explorednortheastCorner - Location of the northeast corner of the area to be exploredactivityType - Activity typeminCat - (Rides only) Minimum climb category to returnmaxCat - (Rides only) Maximum climb category to returnSegmentService.segmentExplore(javastrava.api.v3.model.StravaMapPoint, javastrava.api.v3.model.StravaMapPoint,
javastrava.api.v3.model.reference.StravaSegmentExplorerActivityType, javastrava.api.v3.model.reference.StravaClimbCategory,
javastrava.api.v3.model.reference.StravaClimbCategory)public CompletableFuture<StravaSegmentExplorerResponse> segmentExploreAsync(StravaMapPoint southwestCorner, StravaMapPoint northeastCorner, StravaSegmentExplorerActivityType activityType, StravaClimbCategory minCat, StravaClimbCategory maxCat)
SegmentServiceThis endpoint can be used to find popular segments within a given area (defined by the southwest and northeast corners of the area).
Pagination is not supported. Returns up to 10 segments only.
URL GET https://www.strava.com/api/v3/segments/explore
segmentExploreAsync in interface SegmentServicesouthwestCorner - Location of the southwest corner of the area to be explorednortheastCorner - Location of the northeast corner of the area to be exploredactivityType - Activity typeminCat - (Rides only) Minimum climb category to returnmaxCat - (Rides only) Maximum climb category to returnSegmentService.segmentExploreAsync(javastrava.api.v3.model.StravaMapPoint, javastrava.api.v3.model.StravaMapPoint, javastrava.api.v3.model.reference.StravaSegmentExplorerActivityType, javastrava.api.v3.model.reference.StravaClimbCategory, javastrava.api.v3.model.reference.StravaClimbCategory)public StravaStatistics statistics(Integer athleteId)
AthleteServiceReturns recent (last 4 weeks), year to date and all time stats for a given athlete. Only available for the authenticated athlete.
This is the recommended endpoint when polling for athlete upload events.
Pagination is not supported. Returns all statistics for the athlete.
URL GET https://www.strava.com/api/v3/athletes/:id/stats
statistics in interface AthleteServiceathleteId - Athlete identifiernull if the athlete does not existAthleteService.statistics(java.lang.Integer)public CompletableFuture<StravaStatistics> statisticsAsync(Integer athleteId)
AthleteServiceReturns recent (last 4 weeks), year to date and all time stats for a given athlete. Only available for the authenticated athlete.
This is the recommended endpoint when polling for athlete upload events.
Pagination is not supported. Returns all statistics for the athlete.
URL GET https://www.strava.com/api/v3/athletes/:id/stats
statisticsAsync in interface AthleteServiceathleteId - Athlete identifiernull if the athlete does not existAthleteService.statisticsAsync(java.lang.Integer)public StravaActivity updateActivity(Integer activityId, StravaActivityUpdate activity) throws NotFoundException
ActivityServiceRequires write permissions, as requested during the authorization process.
Only updates name, type, private, commute, trainer, gear_id and description
Returns null if the activity doesn't exist on Strava
URL PUT https://www.strava.com/api/v3/activities/:id
updateActivity in interface ActivityServiceactivityId - Activity identifieractivity - Representation of fields to be updated on the activityNotFoundException - If the activity with the given id does not existActivityService.updateActivity(java.lang.Integer, javastrava.api.v3.model.StravaActivityUpdate)public CompletableFuture<StravaActivity> updateActivityAsync(Integer activityId, StravaActivityUpdate activity) throws NotFoundException
ActivityServiceRequires write permissions, as requested during the authorization process.
Only updates name, type, private, commute, trainer, gear_id and description
Returns null if the activity doesn't exist on Strava
URL PUT https://www.strava.com/api/v3/activities/:id
updateActivityAsync in interface ActivityServiceactivityId - Activity identifieractivity - Representation of fields to be updated on the activityNotFoundException - If the activity with the given id does not existActivityService.updateActivityAsync(java.lang.Integer, javastrava.api.v3.model.StravaActivityUpdate)public StravaAthlete updateAuthenticatedAthlete(String city, String state, String country, StravaGender sex, Float weight)
AthleteService
Updates the personal details of the currently authenticated athlete.
Requires write permissions, as requested during the authorization process.
Only updates city, state, country, gender (sex) and weight.
URL PUT https://www.strava.com/api/v3/athlete
updateAuthenticatedAthlete in interface AthleteServicecity - The city where the athlete wants Strava to think they livestate - The state, county or whatever the athlete wants Strava to think they livecountry - The country where the athlete wants Strava to think they livesex - The gender the athlete wants Strava to think they identify withweight - The weight that the athlete wants Strava to believe that they areAthleteService.updateAuthenticatedAthlete(java.lang.String, java.lang.String, java.lang.String,
javastrava.api.v3.model.reference.StravaGender, java.lang.Float)public CompletableFuture<StravaAthlete> updateAuthenticatedAthleteAsync(String city, String state, String country, StravaGender sex, Float weight)
AthleteService
Updates the personal details of the currently authenticated athlete.
Requires write permissions, as requested during the authorization process.
Only updates city, state, country, gender (sex) and weight.
URL PUT https://www.strava.com/api/v3/athlete
updateAuthenticatedAthleteAsync in interface AthleteServicecity - The city where the athlete wants Strava to think they livestate - The state, county or whatever the athlete wants Strava to think they livecountry - The country where the athlete wants Strava to think they livesex - The gender the athlete wants Strava to think they identify withweight - The weight that the athlete wants Strava to believe that they areAthleteService.updateAuthenticatedAthleteAsync(java.lang.String, java.lang.String, java.lang.String, javastrava.api.v3.model.reference.StravaGender, java.lang.Float)public StravaUploadResponse upload(StravaActivityType activityType, String name, String description, Boolean _private, Boolean trainer, Boolean commute, String dataType, String externalId, File file)
UploadServiceRequires write permissions, as requested during the authorization process.
Posting a file for upload will enqueue it for processing. Initial checks will be done for malformed data and duplicates.
URL POST https://www.strava.com/api/v3/uploads
upload in interface UploadServiceactivityType - (Optional) Type of activity being uploadedname - (Optional) if not provided, will be populated using start date and location, if availabledescription - (Optional)_private - (Optional) set to 1 to mark the resulting activity as private, 'view_private' permissions will be necessary to view the activitytrainer - (Optional) activities without lat/lng info in the file are auto marked as stationary, set to 1 to forcecommute - (Optional) set to 1 to mark as commutedataType - possible values: fit, fit.gz, tcx, tcx.gz, gpx, gpx.gzexternalId - (Optional) data filename will be used by default but should be a unique identifierfile - the actual activity data, if gzipped the data_type must end with .gzUploadService.upload(javastrava.api.v3.model.reference.StravaActivityType, java.lang.String, java.lang.String,
java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.lang.String, java.lang.String, java.io.File)public CompletableFuture<StravaUploadResponse> uploadAsync(StravaActivityType activityType, String name, String description, Boolean _private, Boolean trainer, Boolean commute, String dataType, String externalId, File file)
UploadServiceRequires write permissions, as requested during the authorization process.
Posting a file for upload will enqueue it for processing. Initial checks will be done for malformed data and duplicates.
URL POST https://www.strava.com/api/v3/uploads
uploadAsync in interface UploadServiceactivityType - (Optional) Type of activity being uploadedname - (Optional) if not provided, will be populated using start date and location, if availabledescription - (Optional)_private - (Optional) set to 1 to mark the resulting activity as private, 'view_private' permissions will be necessary to view the activitytrainer - (Optional) activities without lat/lng info in the file are auto marked as stationary, set to 1 to forcecommute - (Optional) set to 1 to mark as commutedataType - possible values: fit, fit.gz, tcx, tcx.gz, gpx, gpx.gzexternalId - (Optional) data filename will be used by default but should be a unique identifierfile - the actual activity data, if gzipped the data_type must end with .gzUploadService.uploadAsync(javastrava.api.v3.model.reference.StravaActivityType, java.lang.String, java.lang.String, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.lang.String, java.lang.String, java.io.File)public List<StravaAthlete> listClubAdmins(Integer clubId)
listClubAdmins in interface ClubServicepublic CompletableFuture<List<StravaAthlete>> listClubAdminsAsync(Integer clubId)
listClubAdminsAsync in interface ClubServicepublic List<StravaAthlete> listClubAdmins(Integer clubId, Paging paging)
listClubAdmins in interface ClubServicepublic CompletableFuture<List<StravaAthlete>> listClubAdminsAsync(Integer clubId, Paging paging)
listClubAdminsAsync in interface ClubServicepublic List<StravaAthlete> listAllClubAdmins(Integer clubId)
listAllClubAdmins in interface ClubServicepublic CompletableFuture<List<StravaAthlete>> listAllClubAdminsAsync(Integer clubId)
listAllClubAdminsAsync in interface ClubServicepublic StravaAthleteZones getAuthenticatedAthleteZones()
AthleteServicegetAuthenticatedAthleteZones in interface AthleteServicepublic CompletableFuture<StravaAthleteZones> getAuthenticatedAthleteZonesAsync()
AthleteServicegetAuthenticatedAthleteZonesAsync in interface AthleteServiceCompletableFuture)Copyright © 2016 Dan Shannon. All rights reserved.