Get the training load series
/v1/athletes/{athlete_id}/loadrequires activities.readThe performance management series, one row per calendar day whether or not the athlete trained.
load is the 42-day exponential average of daily training score, the long-run accumulation usually called fitness. acute_load is the 7-day average, the short-run cost usually called fatigue. form is the difference: positive means freshening, negative means digging in. sports breaks the same averages down per discipline for multisport athletes, so the per-sport figures do not sum to the combined one.
Defaults to the last 90 days and covers at most 1100.
Path parameters
athlete_idstringrequiredThe athlete to act on. `me` is the athlete who authorized this token; any other ID must be an athlete they coach.
Query parameters
startstringStart of the window, as RFC 3339 or YYYY-MM-DD. May be in the future.
e.g. 2026-08-01
endstringEnd of the window, as RFC 3339 or YYYY-MM-DD. May be in the future, to include planned sessions.
e.g. 2026-09-01
Example
curl -X GET "https://api.stride.is/v1/athletes/{athlete_id}/load" \
-H "Authorization: Bearer $STRIDE_TOKEN"Response 200
Success.
daysobject[]always presentacute_loadnumberalways presentAcute training load: the 7-day exponential average. Usually called fatigue.
datestringalways presentfatiguenumberalways presentThe engine's own fatigue term, which is what Stride charts. Not the same quantity as acute_load.
formnumberalways presentload minus acute_load. Positive means freshening, negative means digging into a block.
loadnumberalways presentChronic training load: the 42-day exponential average of daily training score. Usually called fitness.
sportsobject[]The same averages run over each discipline's scores alone, for multisport athletes. These do not sum to the combined figures.
acute_loadnumberalways presentfatiguenumberalways presentloadnumberalways presentsportstringalways presenttraining_scoreintegeralways present
training_scoreintegeralways presentTraining load from the sessions on this day alone. Zero on a rest day.
Errors
Every error is an RFC 9457 problem document. Branch on its code, which is stable; detail is prose and may be reworded.
400The request was malformed: an unparseable date, an unknown enum value, or a parameter combination that cannot be satisfied.401No access token was supplied, or it is not valid for this API.402The Stride account the token belongs to has no active subscription or trial.403The token does not hold the scope this endpoint requires, or may not act on the athlete or team named.404No such resource, or it is not visible to this token. The two are deliberately indistinguishable.405The path exists but does not serve this method. The Allow header lists the ones it does.429A rate limit was exceeded. Retry after the period in the Retry-After header.500Something failed on Stride's side. The failure is logged with a trace ID.