Get detailed data for a specific athlete session.


This returns detailed data for an athlete session including options to return protocol data, raw measurement data and calculated metrics.

Only request the optional data types if they are required. Raw measurement data can be large and can take significant time.

Results are return in a standard format that supports paging. Although in this case only a single result value is expected.


API Endpoint

https://api.vo2master.com/api/organizations/{organization_id}/athletes/{athlete_id}/sessions/{session_id}/data[?protocol][&metrics][&measurements]

Example Response

{
    "data": [{
        "session": {
            "session_id": "1",
            "athlete_id": "1",
            "organization_id": "1",
            "created_at": "2025-01-01T09:00:00Z",
            "modified_at": "2025-01-01T09:00:00Z",
            "name": "Example Name",
            "activity_type": "running",
            "start_time": "2025-01-01T09:00:00Z",
            "end_time": "2025-01-01T09:33:00Z",
            "athlete_weight": 80,
            "athlete_height": 181,
            "protocol_type": "stepTest",
            "protocol_sub_type": "none"
        },
        "protocol": {
            "type": "none",
            "sub_type": "none",
            "intensity_type": "wattage",
            "name": "Protocol name",
            "description": "User description",
            "phases": [{
                "id": "1",
                "phase_type": "warmUp",
                "settings": null
            }, {
                "id": "2",
                "phase_type": "stepTest",
                "settings": null
            }, {
                "id": "3",
                "phase_type": "coolDown",
                "settings": null
            }]
        },
        "gxt_metrics": {
            "intensity_units": "watts",
            "maximal": {
                "is_edited": false,
                "vo2": 90,
                "intensity": 70,
                "hr": 100,
                "ve": 20,
                "tv": 25,
                "rf": 44
            },
            "trainingZones": {
                "is_edited": false,
                "vt1": {
                    "time": 0,
                    "hr": 0,
                    "vo2": 0,
                    "intensity": 0,
                    "calorie": 0
                },
                "vt2": {
                    "time": 0,
                    "hr": 0,
                    "vo2": 0,
                    "intensity": 0,
                    "calorie": 0
                },
                "zones": [{
                    "type": "veryLight",
                    "hr": 0,
                    "vo2": 0,
                    "intensity": 0,
                    "calories": 0
                }]
            }
        },
        "rmr_metrics": {
            "ree": 0,
            "weight_loss_goal_calories": 0,
            "weeks_to_reach_goal_weight": 0,
            "bmi": 0,
            "resting_hr": 0,
            "avg_vo2_kg": 0,
            "avg_ve": 0,
            "avg_tv": 0,
            "avg_rf": 0,
            "avg_rer": 0,
            "avg_hr": 0,
            "hrv": 0
        },
        "measurements": {
            "data": [{
                "t": "heartRate",
                "c": "default",
                "u": "beatsPerMinute",
                "p": [{
                    "t": 0,
                    "v": 76
                }, {
                    "t": 1,
                    "v": 75
                }, {
                    "t": 5,
                    "v": 68
                }, {
                    "t": 12,
                    "v": 71
                }, {
                    "t": 20,
                    "v": 56
                }, {
                    "t": 31,
                    "v": 86
                }]
            }]
        }
    }],
    "page_number": 1,
    "page_size": 1,
    "total_pages": 1,
    "total_records": 1,
    "has_next_page": false,
    "has_previous_page": false
}

Session Data


The session section of the response use the same format as the athlete session request.


Metrics Data

gxt_metrics are returned when the session protocol type is stepTest.

Field

Example

Description

intensity_units

units for all intensity related data

maximal

maximal data

trainingZones

training zone data


maximal data


Field

Example

Description

is_edited

false

If false, this are values calculated by the analysis algo.

If true, the values may have been edited by the user.

vo2

VO2 Max

intensity

Intensity at time of VO2 Max

hr

HR at time of VO2 Max

ve

Ventilation at time of VO2 Max

tv

Tidal Volume at time of VO2 Max

rf

Respiratory Frequency at time of VO2 Max


Training zone data

is_edited

false

If false, this are values calculated by the analysis algo.

If true, the values may have been edited by the user.

vt1

Ventilatory Threshold 1

  • time

  • hr

  • vo2

  • intensity

  • calorie

vt2

Ventilatory Threshold 2

zones

Array or zones. With the values representing the minimum bounds of the zone.

  • hr

  • vo2

  • intensity

  • calories

  • type

Possible type values

  • veryLight

  • light

  • moderate

  • vigorous

  • maximal


RMR Data

rmr_metrics are returned when the session protocol type is restingTest.

Field

Example

Description

ree

Resting energy expenditure [kcal/min]

weight_loss_goal_calories

Daily caloric intake one must maintain in order to meet the provided weight loss goal

weeks_to_reach_goal_weight

Number of weeks it will take to reach the goal weight, at the goal weekly weight loss

bmi

Body Mass Index (BMI) [kg/m^2]

resting_hr

Average heart rate during measure period

avg_vo2_kg

Average VO2/kg

avg_ve

Average Ventilation [L/min]

avg_tv

Average Tidal volume [L]

avg_rf

Average Respiratory Frequency [bpm]

avg_rer

Average Respiratory Exchange Ratio

hrv

Heart Rate Variability


Measurements Data

Measurements data is an array of time, value data for each measurement type that was recorded during the session.

Field

Example

Description

t

heartRate

Measurement type

Possible values see measurement types table.

c

default

Measurement channel

Possible values.

  • default

  • second

  • third

  • forth

  • fifth

  • sixth

  • seventh

  • eighth

u

beatsPerMinute

Measurement units

Possible values see measurement types table.

p

Data points.
An array of time value pairs.

t = time in milliseconds from the start of the session.

v = value


Measurement Types

Type

Units

Description

respiratoryFrequency

beatsPerMinute

Rf

tidalVolume

liter

Tv

ventilation

litersPerMinute

Ve

oxygenConsumption

millilitersPerMinute

VO2

oxygenConsumptionByWeight

millilitersPerKilogramPerMinute

VO2/kg

fractionOfExpiredOxygen

percentage

FeO2

heartRate

beatsPerMinute

heartRRInterval

milliseconds

cadence

revolutionsPerMinute

speed

kilometersPerHour

cyclingPower

watts

smO2

percentage

tHb

totalHemoglobinConcentration