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, or pace. 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"

Response 200

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 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.