This is actually my bug because I didn’t supply the date range
Doing this works as expected: curl --location 'https://intervals.icu/api/v1/athlete/0/athlete-summary?start=2024-11-01&end=2024-11-24'
Ideally the API would report a 4xx bad request error instead of 500 (crash?)
Hi @david - is it possible to change the /api/v1/athlete/{{id}}/gear endpoint to include a date range?
This would allow me to determine the time and distance accumulated on the bike between the two dates.
Looking at my own gear stats, I see
Brompton 2110km 19h
Orca 12580km 276h
which don’t really make much sense. I really don’t think I can cycle 2k km on a brompton in 19hrs!
edit: Read some of your earlier post - What you’re wanting to do, i don’t believe the current endpoints supports it. There is a # of activities, but AFAIK there is no linkages to the actual activities that are using those gears.
I suggest using the list view for your purpose. And then using the Filter for the gear that you want
It’s not so much a bug but undocumented behaviour Only the gear id is filled in for performance reasons. If you need the full gear object you can make a new call to the list gear endpoint.
Thanks for checking - you’re right something weird is going on as each bike has its own Wahoo head unit which should be setting the gear (bike) correctly
I’ll keep investigating and sorry for wasting your time!
Not at the moment. I hadn’t thought about 24x7 metrics. Quite a few services do delivery such stuff but Intervals.icu only uses the summary data for the day. I would need to poke around and see how space efficiently such data could be stored. If it is only every 15m or something then it would be possible.
Based on the current API design, it could be an another type of custom item, and then a way to submit the data via Wellness API like endpoint.
In regards to the actual data, I was planning making a Garmin Connect IQ app which can submit health data (it’s available with user’s permission) to the API endpoint
@david has the ListActivities API response changed when the activity originates from Strava? (Actually my activities originate from other apps that are collected in Strava)
I’m now seeing this response from the API which is different from a couple of days ago
{
"id": "12847086233",
"icu_athlete_id": "xxxxx",
"start_date_local": "2024-11-07T18:53:20",
"source": "STRAVA",
"_note": "STRAVA activities are not available via the API"
}
I know you mentioned somewhere that you didn’t want people proxying activities via Intervals.icu, but having to create two integrations; one for Intervals.icu and one for Strava is going to be a real pain
Is there any way I can source Activities without having to create a Strava integration too? Thanks
You need to try get the Strava stuff into Intervals.icu directly from the system it originated on instead of going via Strava. Unfortunately that is the only way.
If there is an integration between Wahoo and intervals, i would use it over Strava - I’ve just cancelled my paid subscription with them (Strava).
Btw @david could you modify the get activities API to provide the non Strava data which i presume are the icu_… prefixed ones? My assumption is that because there are calculated by Intervals, it doesn’t prevent you making those available.
If you can that would be amazingly helpful rather than my having to reinvent the wheel to calculate HRTSS or TSS for example
As FYI to those facing this new challenge. This is the data returned from the Intervals.icu API on activities which are solely transferred to Intervals.icu from Strava.
(T&C From Strava forbids sites from proxying “THEIR??” data from Strava API to other services)
I’m able to retrieve my activity data from Strava using their API but it is a hassle getting all the OAuth stuff to work, and having a token that needs refreshing every 6 hours
I still think that there is a significant delta between what Strava returns, and what the original https://{{server}}/api/v1/activity/{{activityid}} API returned. It would be great if @david is able to reinstate all of the non Strava fields; specifically those that are computed in Intervals or sourced elsewhere like the weather for example
Completely understand your pov and certainly don’t want to risk loss of access.
Thank you for making the weather data available
Do you feel comfortable creating a new endpoint (say) /v1/getIntervalComputed/{{activityid}} that is able to return the following fields (which do not exist in the Strava activity and originate from Intervals or are computed in Intervals):