v1

latestOpenAPI 3.1.02026-07-136587849.3 KB
Queries / Provider Records

Get Provider Record

This endpoint allows you to query a single provider record with metrics by ID. It supports including sample data based on time series and provider-specific metrics in the response.

The response includes a single record with raw data from the provider transformed into the unified data model, possibly including:

  • base information (start, end, duration, user time offset, input method, source provider, etc.)
  • metrics (base and provider-specific)
  • activity information such as activity ID, type, and tags
  • activity breakdown into laps, sessions, etc. with related sample data
  • sleep with sample data

All timestamps in the response are in the UTC timezone.

get/queries/provider_records/{record_id}

Path parameters

record_idstring required

Query parameters

metricsstring[]
include_samplesboolean
include_provider_specific_metricsboolean

Response

OK

activity_idstring byte
activity_tagsstring[] nullable
activity_type'other' | 'sedentary' | 'aerobics' | 'play' | 'house_work' | 'gardening' | 'work' | 'sleep' | 'workout' | 'ecg_measurement' | 'running' | 'indoor_running' | 'obstacle_run' | 'street_running' | 'track_running' | 'trail_running' | 'treadmill_running' | 'ultra_running' | 'virtual_running' | 'triathlon' | 'biathlon' | 'duathlon' | 'cycling' | 'bmx_cycling' | 'cyclocross_cycling' | 'downhill_biking' | 'e_bike_fitness' | 'e_bike_mountain' | 'gravel_cycling' | 'indoor_cycling' | 'mountain_biking' | 'recumbent_cycling' | 'road_biking' | 'track_cycling' | 'virtual_ride' | 'hand_cycling' | 'indoor_hand_cycling' | 'rollerblading' | 'skateboarding' | 'skating' | 'gym' | 'bouldering' | 'elliptical' | 'indoor_cardio' | 'hiit' | 'indoor_climbing' | 'indoor_rowing' | 'pilates' | 'stair_climbing' | 'strength_training' | 'yoga' | 'meditation' | 'rope_skipping' | 'gymnastics' | 'core_training' | 'mixed_training' | 'crossfit' | 'calisthenics' | 'warm_up' | 'cool_down' | 'flexibility_training' | 'weight_lifting' | 'functional_fitness' | 'stretching' | 'swimming' | 'open_water_swimming' | 'walking' | 'casual_walking' | 'speed_walking' | 'hiking' | 'stroller' | 'winter_sports' | 'backcountry_snowboarding' | 'backcountry_skiing' | 'cross_country_classic_skiing' | 'skiing' | 'snowboarding' | 'skiing_snowboarding' | 'cross_country_skate_skiing' | 'skating_skiing' | 'snow_shoeing' | 'snowmobiling' | 'curling' | 'water_sports' | 'boating' | 'kayaking' | 'kiteboarding' | 'offshore_grinding' | 'onshore_grinding' | 'paddling' | 'rowing' | 'sailing' | 'snorkeling' | 'stand_up_paddleboarding' | 'surfing' | 'wakeboarding' | 'waterskiing' | 'whitewater_rafting' | 'windsurfing' | 'canoeing' | 'team_sports' | 'american_football' | 'baseball' | 'basketball' | 'cricket' | 'field_hockey' | 'ice_hockey' | 'lacrosse' | 'rugby' | 'soccer' | 'softball' | 'disc' | 'volleyball' | 'australian_football' | 'handball' | 'water_polo' | 'floorball' | 'netball' | 'paintball' | 'polo' | 'racket_sports' | 'badminton' | 'padel' | 'pickleball' | 'platform_tennis' | 'racquetball' | 'squash' | 'table_tennis' | 'tennis' | 'paddle_ball' | 'martial_arts' | 'boxing' | 'mixed_martial_arts' | 'kickboxing' | 'muay_thai' | 'wrestling' | 'judo' | 'karate' | 'taekwondo' | 'aikido' | 'capoeira' | 'kung_fu' | 'tai_chi' | 'jiu_jitsu' | 'dancing' | 'barre' | 'climbing' | 'wheelchair_push_run' | 'wheelchair_push_walk' | 'archery' | 'bowling' | 'fencing' | 'golf' | 'jumping' | 'parkour' | 'equestrian' | 'hunting' | 'fishing' | 'diving' | 'outdoor_recreation' | 'geocaching' | 'orienteering' | 'bootcamp' | 'motorsports' | 'horseriding' | 'paragliding' | 'multisport' | 'blood_test' | 'mindfulness_session'

Activity types

durationinteger

Record duration

end_at_timestampstring date-time

Record end time

input_method'unknown' | 'manual' | 'device'

Data input method

is_source_aggregatedboolean

If the record is already aggregated by the source, for example Apple Health aggregating steps from multiple devices

modified_atstring date-time required

Modified at

provider_local_datestring date

Provider local date

provider_slugstring

Provider slugs

provider_source'apple_healthkit_sample' | 'apple_healthkit_activity' | 'apple_healthkit_sample_category' | 'apple_healthkit_sleep_aggregation' | 'apple_healthkit_dietary_item' | 'apple_healthkit_statistics' | 'apple_healthkit_characteristics' | 'apple_healthkit_ecgs' | 'apple_healthkit_mindfulness' | 'health_connect_record' | 'health_connect_activity' | 'health_connect_mindfulness_session' | 'health_connect_aggregation' | 'fitbit_activities_list' | 'fitbit_activities_daily_summary' | 'fitbit_activities_daily_summary_activity' | 'fitbit_activity_heart_intraday' | 'fitbit_activity_steps_intraday' | 'fitbit_activity_distance_intraday' | 'fitbit_activity_calories_intraday' | 'fitbit_hrv_summary' | 'fitbit_hrv_intraday' | 'fitbit_vo2max_summary' | 'fitbit_sleep_summary' | 'fitbit_activity_tcx' | 'fitbit_br_summary' | 'fitbit_br_intraday' | 'fitbit_spo2_summary' | 'fitbit_spo2_intraday' | 'fitbit_core_temperature_summary' | 'fitbit_skin_temperature_summary' | 'fitbit_ecg' | 'fitbit_body_log_fat' | 'fitbit_body_log_weight' | 'garmin_wellness_epochs' | 'garmin_wellness_dailies' | 'garmin_wellness_activities' | 'garmin_wellness_activity_details' | 'garmin_wellness_sleep' | 'garmin_wellness_activity_file' | 'garmin_wellness_hrv' | 'garmin_wellness_user_metrics' | 'garmin_wellness_body_comps' | 'garmin_wellness_blood_pressures' | 'garmin_wellness_stress_details' | 'garmin_wellness_skin_temperature' | 'oura_user_collection_daily_activity_document' | 'oura_user_collection_sleep_document' | 'oura_user_collection_workout_document' | 'oura_user_collection_daily_spo2_document' | 'oura_user_collection_vo2_max' | 'oura_user_collection_hr_document' | 'oura_user_collection_session_document' | 'oura_personal_info' | 'oura_user_collection_daily_sleep' | 'polar_continuous_heart_rate_by_date' | 'polar_exercise' | 'polar_exercise_fit_file' | 'polar_sleep_available' | 'polar_activity_transaction' | 'polar_activity_transaction_steps' | 'polar_sleep_by_date' | 'polar_nightly_recharge' | 'polar_biosensing_spo2' | 'polar_biosensing_body_temperature' | 'polar_biosensing_skin_temperature' | 'polar_physical_information' | 'polar_biosensing_ecg' | 'polar_user_info' | 'strava_activity' | 'suunto_workout_summary' | 'suunto_workout_fit_file' | 'suunto_activity_samples' | 'suunto_activity_daily_summary' | 'suunto_sleep_samples' | 'whoop_cycle' | 'whoop_cycle_recovery' | 'whoop_activity_sleep' | 'whoop_activity_workout' | 'whoop_user_body_measurement' | 'withings_sleep_summary' | 'withings_sleep_get' | 'withings_measure_workouts' | 'withings_measure_activity' | 'withings_measure_meas' | 'withings_measure_activity_intraday' | 'withings_heart_list' | 'withings_heart_get' | 'withings_sleep_combined' | 'wahoo_workout_summary' | 'wahoo_workout_fit_file' | 'huawei_activity_record' | 'huawei_sampling_data_daily_activity_summary' | 'huawei_sampling_data_details' | 'huawei_sampling_data_statistics' | 'huawei_sampling_data_daily' | 'huawei_health_record' | 'huawei_sampling_data_latest' | 'ultrahuman_heartrate_metrics' | 'ultrahuman_hrv_metrics' | 'ultrahuman_temp_metrics' | 'ultrahuman_heartrate_resting_metrics' | 'ultrahuman_steps_metrics' | 'ultrahuman_vo2max_metrics' | 'ultrahuman_glucose_metrics' | 'ultrahuman_sleep_metrics' | 'coros_workout' | 'coros_workout_fit_file' | 'coros_daily_record' | 'coros_daily_record_sleep' | 'samsung_health_data_aggregation' | 'samsung_health_data_samples' | 'samsung_health_data_user_profile' | 'samsung_health_data_exercise' | 'samsung_health_data_sleep' | 'dexcom_egvs' | 'freestyle_libre_glucose' | 'luna_sleep' | 'luna_heart_rate' | 'omron_us_blood_pressure' | 'omron_us_hourly_activity' | 'omron_us_weight' | 'omron_us_temperature' | 'omron_us_oxygen' | 'omron_eu_blood_pressure' | 'omron_eu_hourly_activity' | 'omron_eu_weight' | 'omron_eu_temperature' | 'omron_eu_oxygen' | 'map_my_fitness_workout' | 'google_health_data_point_interval' | 'google_health_data_point_session' | 'google_health_data_point_sample' | 'google_health_data_point_daily' | 'google_health_rollup' | 'google_health_rollup_daily' | 'google_health_exercise_tcx' | 'compat_apple_healthkit_entry' | 'compat_health_connect_entry'

Source of the record according to the provider

provider_source_type'provider_summary' | 'intraday_aggregation' | 'activity_summary' | 'activity_file' | 'activity' | 'sample' | 'profile'

Provider source types

record_idstring uuid required

Record ID

start_at_timestampstring date-time required

Record start time

user_time_offset_minutesinteger

User time offset in minutes

Example response

{
  "metrics": {
    "air_temperature": 22.73,
    "air_temperature_max": 28.55,
    "air_temperature_min": 15.27,
    "ascent": 320.29,
    "basal_body_temperature": 36.53,
    "basal_body_temperature_max": 37.03,
    "basal_body_temperature_min": 36.01,
    "bedtime_duration": 28800000,
    "blood_pressure_diastolic": 80.03,
    "blood_pressure_diastolic_max": 90.07,
    "blood_pressure_diastolic_min": 60.01,
    "blood_pressure_systolic": 120.03,
    "blood_pressure_systolic_max": 140.07,
    "blood_pressure_systolic_min": 100.01,
    "body_bone_mass": 3200,
    "body_fat": 18.53,
    "body_fat_max": 25.03,
    "body_fat_min": 12.01,
    "body_mass_index": 22.5016,
    "body_temperature": 36.73,
    "body_temperature_max": 37.55,
    "body_temperature_min": 36.13,
    "breathing_rate": 16.5016,
    "breathing_rate_max": 24.7549,
    "breathing_rate_min": 12.2534,
    "cadence": 85.5016,
    "cadence_max": 110.0049,
    "cadence_min": 60.0034,
    "calories_burned": 1650.7549,
    "calories_burned_active": 450.2516,
    "calories_burned_basal": 1200.5034,
    "calories_intake": 2100.5016,
    "descent": 280.91,
    "distance": 6500.2516,
    "distance_cycling": 15000.7549,
    "distance_running": 5000.5016,
    "distance_swimming": 1000.7549,
    "distance_walking": 3200.5034,
    "distance_wheelchair": 2800.5034,
    "duration_active": 5400000,
    "duration_high_intensity": 1200000,
    "duration_low_intensity": 9000000,
    "duration_moderate_intensity": 2400000,
    "ecg_rri": 850,
    "ecg_voltage": 1200.53,
    "elevation": 1050.73,
    "elevation_gain": 450.83,
    "elevation_loss": 380.47,
    "elevation_max": 1250.55,
    "elevation_min": 850.37,
    "floors_climbed": 12,
    "glucose": 95.654321,
    "heartrate": 90,
    "heartrate_max": 180,
    "heartrate_min": 60,
    "heartrate_resting": 70,
    "heartrate_resting_max": 85,
    "heartrate_resting_min": 60,
    "heartrate_zone0_duration": 5000,
    "heartrate_zone1_duration": 7152,
    "heartrate_zone2_duration": 25000,
    "heartrate_zone3_duration": 18170,
    "heartrate_zone4_duration": 6372,
    "heartrate_zone5_duration": 2000,
    "height": 1.7549,
    "hrv_rmssd": 45,
    "hrv_sdnn": 52,
    "latitude": 37.77492948,
    "longitude": -122.41941637,
    "pace": 3.53,
    "power": 125,
    "power_max": 125,
    "skin_temperature": 33.53,
    "skin_temperature_max": 34.27,
    "skin_temperature_min": 32.89,
    "sleep_breathing_rate": 14.27,
    "sleep_breathing_rate_max": 18.59,
    "sleep_breathing_rate_min": 10.03,
    "sleep_duration": 25200000,
    "sleep_duration_awake": 1800000,
    "sleep_duration_deep": 5400000,
    "sleep_duration_light": 12600000,
    "sleep_duration_nap": 3600000,
    "sleep_duration_rem": 3600000,
    "sleep_efficiency": 92,
    "sleep_interruptions": 2,
    "sleep_latency": 900000,
    "sleep_score": 85,
    "sleep_skin_temperature_deviation": -0.13,
    "speed": 3.2516,
    "speed_max": 8.5034,
    "speed_min": 0.5016,
    "spo2": 98.5016,
    "spo2_max": 99.5034,
    "spo2_min": 95.2516,
    "steps": 8500,
    "swimming_distance_per_stroke": 2.27,
    "swimming_lengths": 40,
    "vo2max": 45.23,
    "wakeup_latency": 600000,
    "weight": 70000.5034
  },
  "provider_local_date": "2006-01-02",
  "provider_slug": "strava",
  "record_id": "12345678-1234-abcd-4321-abcdef123456"
}