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
| |
vt2 | Ventilatory Threshold 2 | |
zones | Array or zones. With the values representing the minimum bounds of the zone.
Possible type values
|
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
|
u | beatsPerMinute | Measurement units Possible values see measurement types table. |
p | Data points. 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 | |