Stride

Search Documentation

Search for articles, guides, and more

← API overview

Get one library workout in full

GET/v1/workouts/{workout_id}requires workouts.read

One workout with its intervals: targets, repetitions, cadence and ramp bounds.

Takes the ID or the slug from a search result. Targets are read per base: percent of FTP by default, but also percent of critical power, absolute watts, pace, or heart rate (percent of max or threshold heart rate, or beats per minute). Each segment's target_unit names the unit. Segments are not expanded - a repeated group appears once with its repetition count, which is how Stride's own exporters present it.

Accepts either an ID (wrkout_...) or a slug. Returns 404 for a workout that does not exist and for one the athlete cannot see, which are deliberately indistinguishable.

Path parameters

  • workout_idstringrequired

    The workout ID (`wrkout_...`) or its slug.

Example

bash
curl -X GET "https://api.stride.is/v1/workouts/{workout_id}" \
  -H "Authorization: Bearer $STRIDE_TOKEN"

Response200

Success.

  • basestring
  • descriptionstring
  • dominant_zonestring
  • duration_typestring
  • idstringalways present
  • namestringalways present
  • officialbooleanalways present
  • owner_team_idstring
  • owner_user_idstring
  • segmentsobject[]
    • cadence_highinteger
    • cadence_lowinteger
    • durationintegeralways present
    • duration_unitstring
    • high_targetinteger
    • indexintegeralways present
    • low_targetintegeralways present
    • namestring
    • ramp_endinteger
    • ramp_startinteger
    • repeatboolean
    • repetitionsinteger
    • target_unitstring
    • textstring
    • until_lap_pressboolean
  • slugstring
  • summarystring
  • tagsstring[]
  • total_distance_metersinteger
  • total_duration_secondsinteger
  • training_scoreinteger
  • typestring

Errors

Every error is an RFC 9457 problem document. Branch on itscode, 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.