Skip to main content
GET
Get Workout Totals

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

FlowPassword
Token URL
/api/v1/auth/login

Headers

X-Open-Wearables-API-Key
string | null

Path Parameters

user_id
string<uuid>
required

Query Parameters

start_date
string<date-time>
required

ISO 8601 datetime (e.g. 2023-11-07T05:31:56Z) or Unix timestamp in seconds. Date-only strings (e.g. 2023-11-07) are also accepted and cover the whole day, so a date-only range includes both boundary days.

Examples:

"2023-11-07T05:31:56Z"

"2023-11-07"

end_date
string<date-time>
required

ISO 8601 datetime (e.g. 2023-11-07T05:31:56Z) or Unix timestamp in seconds. Date-only strings (e.g. 2023-11-07) are also accepted and cover the whole day, so a date-only range includes both boundary days.

Examples:

"2023-11-07T05:31:56Z"

"2023-11-07"

record_type
string | null
type
enum<string> | null

Exact normalized workout type. Unlike record_type, does not substring-match. Unified workout/activity types for Polar, Suunto, and Garmin.

Based on FIT SDK sport types and common activities across platforms. Excludes branded/niche activities (e.g., LES MILLS classes, specific dance types).

Available options:
running,
trail_running,
treadmill,
walking,
hiking,
mountaineering,
cycling,
mountain_biking,
indoor_cycling,
cyclocross,
swimming,
pool_swimming,
open_water_swimming,
strength_training,
cardio_training,
fitness_equipment,
elliptical,
rowing_machine,
stair_climbing,
yoga,
pilates,
stretching,
meditation,
cross_country_skiing,
alpine_skiing,
backcountry_skiing,
downhill_skiing,
snowboarding,
snowshoeing,
ice_skating,
snowmobiling,
winter_sports,
snow_sports,
rowing,
kayaking,
canoeing,
paddling,
stand_up_paddleboarding,
surfing,
kitesurfing,
windsurfing,
sailing,
water_polo,
wakeboarding,
water_skiing,
boating,
water_sports,
soccer,
basketball,
football,
american_football,
baseball,
tennis,
badminton,
volleyball,
handball,
rugby,
hockey,
floorball,
lacrosse,
cricket,
squash,
table_tennis,
padel,
pickleball,
racquetball,
racket_sports,
boxing,
martial_arts,
wrestling,
fencing,
rock_climbing,
indoor_climbing,
bouldering,
trail_hiking,
orienteering,
archery,
fishing,
hunting,
paragliding,
parkour,
golf,
skating,
inline_skating,
skateboarding,
horseback_riding,
gymnastics,
bowling,
curling,
disc_sports,
triathlon,
multisport,
motorcycling,
motor_sports,
dance,
aerobics,
group_exercise,
e_biking,
virtual_activity,
diving,
snorkeling,
walking_fitness,
casual_walking,
transition,
team_sports,
para_sports,
play,
wheelchair,
recovery,
gaming,
chores,
lifestyle,
work,
operations,
generic,
other,
sport
provider
enum<string> | null

Supported data providers.

Available options:
apple,
samsung,
garmin,
health_connect,
google_health,
polar,
suunto,
whoop,
strava,
oura,
fitbit,
ultrahuman,
sensorbio,
withings,
unknown,
internal
source
string | null
device_model
string | null
data_source_id
string<uuid> | null

Response

Successful Response

Workouts matching a filter, added up in the database rather than paged.

count
integer
required

Workouts that match the filters

Example:

42

duration_seconds
integer
required

Sum of their durations

Example:

95400

calories_kcal
number | null

Sum of reported energy burned; null when none reported any

Example:

18250.5

distance_meters
number | null

Sum of reported distance; null when none reported any

Example:

212400