External: Events

Returns workout sessions.

get/api/v1/users/{user_id}/events/workouts

Request

  • Base URL: https://api.openwearables.io (the document declares no server; this is the origin it was published from)
  • URL: https://api.openwearables.io/api/v1/users/{user_id}/events/workouts
  • Auth: OAuth 2 (password, token URL /api/v1/auth/login)

Path parameters

user_idstring uuid required

Query parameters

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

Example:2023-11-07T05:31:56Z
end_datestring 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.

Example:2023-11-07T05:31:56Z
includeWorkoutInclude[]
record_typestring nullable
type'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'

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

Exact normalized workout type. Unlike record_type, does not substring-match.

cursorstring nullable
limitinteger
provider'apple' | 'samsung' | 'garmin' | 'health_connect' | 'google_health' | 'polar' | 'suunto' | 'whoop' | 'strava' | 'oura' | 'fitbit' | 'ultrahuman' | 'sensorbio' | 'withings' | 'unknown' | 'internal'

Supported data providers.

sourcestring nullable
device_modelstring nullable
data_source_idstring uuid nullable

Headers

X-Open-Wearables-API-Keystring nullable

Response

Successful Response

Example response

{
  "data": [
    {
      "name": "Morning Run",
      "source": {
        "provider": "apple",
        "source": "Connect",
        "device": "iPhone15,2",
        "device_id": "R9ZW30ABC12"
      }
    }
  ],
  "pagination": {
    "next_cursor": "eyJpZCI6IjEyMzQ1Njc4OTAiLCJ0cyI6MTcwNDA2NzIwMH0",
    "total_count": 150
  }
}

Changes

    • info

      added the optional property /// to the response with the status

    • warning

      added the new bike_computer enum value to the //// response property for the response status

    • warning

      added the new bp_monitor enum value to the //// response property for the response status

    • warning

      added the new chest_strap enum value to the //// response property for the response status

    • warning

      added the new fitness_machine enum value to the //// response property for the response status

    • warning

      added the new glasses enum value to the //// response property for the response status

    • warning

      added the new glucose_meter enum value to the //// response property for the response status

    • warning

      added the new head_mounted enum value to the //// response property for the response status

    • warning

      added the new headphones enum value to the //// response property for the response status

    • warning

      added the new hr_sensor enum value to the //// response property for the response status

    • warning

      added the new sleep_monitor enum value to the //// response property for the response status

    • warning

      added the new smart_display enum value to the //// response property for the response status

    • warning

      added the new tablet enum value to the //// response property for the response status

    • warning

      added the new thermometer enum value to the //// response property for the response status