Stride

Search Documentation

Search for articles, guides, and more

← API overview

List metric readings over a window

GET/v1/athletes/{athlete_id}/metricsrequires metrics.read

Every reading of the athlete's metrics in a date window: thresholds and body measurements (FTP, critical power, W', weight, threshold and maximum heart rate, threshold pace) and the daily wellness scores their watch or strap reports (HRV, resting heart rate, recovery, sleep score, body battery).

Units depend on the type: watts for power, kilograms for weight, bpm for heart rate, seconds per kilometre for pace. Defaults to the last 90 days.

Path parameters

  • athlete_idstringrequired

    The athlete to act on. `me` is the athlete who authorized this token; any other ID must be an athlete they coach.

Query parameters

  • startstring

    Start of the window, as RFC 3339 or YYYY-MM-DD. May be in the future.

    e.g. 2026-08-01

  • endstring

    End of the window, as RFC 3339 or YYYY-MM-DD. May be in the future, to include planned sessions.

    e.g. 2026-09-01

  • typeenum

    Only readings of this metric type.

    WEIGHT · BODY_FAT · FTP · WPRIME · HRV · RESTING_HEART_RATE · RECOVERY_SCORE · SLEEP_SCORE · BODY_BATTERY · HEALTH_SCORE · RESILIENCE_SCORE · MAX_HEART_RATE · THRESHOLD_HEART_RATE · RUNNING_THRESHOLD_PACE · SWIMMING_THRESHOLD_PACE · CRITICAL_POWER · WPRIME_RECOVERY_FACTOR · CYCLING_THRESHOLD_HEART_RATE · RUNNING_THRESHOLD_HEART_RATE · SWIMMING_THRESHOLD_HEART_RATE · CYCLING_MAX_HEART_RATE · RUNNING_MAX_HEART_RATE · SWIMMING_MAX_HEART_RATE

Example

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

Response 200

Success.

  • metricsobject[]always present
    • sourcestring

      Where the reading came from, e.g. the provider that reported it or MANUAL when the athlete entered it.

    • timestampstring

      When the reading was taken.

    • typestringalways present

      The metric, e.g. FTP, WEIGHT, THRESHOLD_HEART_RATE.

    • valuenumberalways present

      The reading. Units follow the type: watts for power, kilograms for weight, bpm for heart rate, seconds per kilometre for pace.

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.