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):
Some time in the last 2-3 days the API has stopped returning most recent data. When I call the API to retrieve data, it is returning data from 3 months ago and even then, some data is missing in that time period. Not sure how to troubleshoot on my end. Nothing has changed with my logic. No error messages. Simply returning out of date information.
if this is your issue right now, and you cant get any other data (like above thread) then thats likely the case and i’ll close this thread. If not, do tell and i’ll merge the thread with the above topicandbfind out whats what
You have a couple of choices, nothing which is easy as far as I can tell.
Manual Download from Strava → INtervals
Discuss w/ the Developer
Get a 3rd Party App (RunGap / HealthFit). I can’t recommend BreakAway as it currently doesn’t get data from within Apple Health → Intervals (It currently only does Wellness data & writes completed workouts to Apple Health)
You have another option
Source the activity data directly from Strava
Using OAuth is a little more complex than the API key approach of intervals
I’ve done this. It’s not difficult but is a pain. The bigger issue is that some activities will be available in intervals via the API depending on the source system bur those from Strava will not.
This means that you have to potentially coalesce two data sources.