List a team's members
/v1/teams/{team_id}/membersrequires teams.readThe members of a team the athlete coaches, with their Stride IDs, names, roles and which team in the tree each sits on. Members of sub-teams are included by default.
Requires the athlete to coach or administer the team, directly or through a team above it.
Path parameters
team_idstringrequiredThe team ID or slug, as returned by `GET /v1/teams`.
Query parameters
roleenumOnly members holding this role.
ADMIN · COACH · MEMBER
include_subteamsbooleanInclude members of the team's sub-teams. Defaults to true.
Example
curl -X GET "https://api.stride.is/v1/teams/{team_id}/members" \
-H "Authorization: Bearer $STRIDE_TOKEN"Response 200
Success.
membersobject[]always presentcreated_atstringrolestringalways presentteam_idstringteam_namestringuserobjectalways presentconnected_integrationsstring[]always presentDevice and service integrations the athlete has connected, e.g. garmin, wahoo, whoop.
emailstringhas_subscriptionbooleanalways presentidstringalways presentnamestringtimezonestringIANA timezone name, e.g. Europe/London. Every activity timestamp is local wall-clock time and must be read against this.
uses_metric_unitsbooleanalways presentHow the athlete prefers Stride's own apps to display values. It does not change what this API returns, which is always SI.
team_idstringalways presentteam_namestringalways 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.