← API overview
List what the library can be filtered on
GET
/v1/workouts/filtersrequires workouts.readEvery value the workout search can filter on, with the number of visible workouts behind each: the training-focus tags, the creators who own visible workouts, and the duration and distance buckets with their bounds in the units the search takes.
Call this before searching to aim at a combination that has results rather than guessing at one. Pass activity_type to count within one sport - the counts differ sharply between cycling, running and swimming.
Query parameters
activity_typeenumCount only workouts of this sport. Omit to count across all three.
RIDE · RUN · SWIM
Example
bash
curl -X GET "https://api.stride.is/v1/workouts/filters" \
-H "Authorization: Bearer $STRIDE_TOKEN"Response 200
Success.
activity_typestringcreatorsobjectalways presentteamsobject[]always presentidstringalways presentnamestringworkout_countintegeralways present
usersobject[]always presentidstringalways presentnamestringworkout_countintegeralways present
distance_bucketsobject[]always presentlabelstringalways presentmax_kmintegermax_minutesintegermin_kmintegermin_minutesinteger
duration_bucketsobject[]always presentlabelstringalways presentmax_kmintegermax_minutesintegermin_kmintegermin_minutesinteger
tagsobject[]always presentdistance_countsinteger[]duration_countsinteger[]namestringalways presentslugstringalways presentworkout_countintegeralways present
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.