JSFiddle - React, Tailwind, and code Playground
JavaScript
let deleteActivity = (activityId) =>
fetch("https://connect.garmin.com/activity-service/activity/" + activityId, {
"credentials": "include",
"headers": {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0",
"Accept": "application/json, text/javascript, */*; q=0.01",
"Accept-Language": "en-US,en;q=0.5",
"NK": "NT",
"X-app-ver": "5.0.2.0",
"X-lang": "en-US",
"X-HTTP-Method-Override": "DELETE",
"DI-Backend": "connectapi.garmin.com",
"Authorization": "Bearer " + JSON.parse(localStorage["token"]).access_token,
"X-Requested-With": "XMLHttpRequest",
"Sec-Fetch-Dest": "empty",
"Sec-Fetch-Mode": "cors",
"Sec-Fetch-Site": "same-origin"
},
"referrer": "https://connect.garmin.com/modern/activities",
"method": "POST",
"mode": "cors"
});
fetch("https://connect.garmin.com/activitylist-service/activities/search/activities", {
"credentials": "include",
"headers": {
"Accept": "application/json, text/javascript, */*; q=0.01",
"Accept-Language": "en-US,en;q=0.5",
"Sec-Fetch-Dest": "empty",
"Sec-Fetch-Mode": "no-cors",
"Sec-Fetch-Site": "same-origin",
"NK": "NT",
"X-app-ver": "5.0.2.0",
"X-lang": "en-US",
"DI-Backend": "connectapi.garmin.com",
"Authorization": "Bearer " + JSON.parse(localStorage["token"]).access_token,
"X-Requested-With": "XMLHttpRequest",
"Pragma": "no-cache",
"Cache-Control": "no-cache"
},
"referrer": "https://connect.garmin.com/modern/activities",
"method": "GET",
"mode": "cors"
})
.then(res => res.json())
.then(data => {
for (let d of data) {
if (!d.startTimeLocal.startsWith("2024")) {
deleteActivity(d.activityId)
}
}
});