WHOOP · Schema
WorkoutScore
WHOOP's measurements and evaluation of the workout activity. Only present if the Workout State is `SCORED`
FitnessWearablesHealthRecoverySleepWorkoutStrainHeart RatePerformance
Properties
| Name | Type | Description |
|---|---|---|
| strain | number | WHOOP metric of the cardiovascular load - the level of strain the workout had on the user's cardiovascular system based on the user's heart rate. Strain is scored on a scale from 0 to 21. |
| average_heart_rate | integer | The user's average heart rate (beats per minute) during the workout. |
| max_heart_rate | integer | The user's max heart rate (beats per minute) during the workout. |
| kilojoule | number | Kilojoules the user expended during the workout. |
| percent_recorded | number | Percentage (0-100%) of heart rate data WHOOP received during the workout. |
| distance_meter | number | The distance the user travelled during the workout. Only present if distance data sent to WHOOP |
| altitude_gain_meter | number | The altitude gained during the workout. This measurement does not account for downward travel - it is strictly a measure of altitude climbed. If a member climbed up and down a 1,000 meter mountain, en |
| altitude_change_meter | number | The altitude difference between the start and end points of the workout. If a member climbed up and down a mountain, ending at the same altitude, this measurement would be 0. Only present if altitude |
| zone_durations | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/whoop/main/json-schema/whoop-workoutscore-schema.json",
"title": "WorkoutScore",
"description": "WHOOP's measurements and evaluation of the workout activity. Only present if the Workout State is `SCORED`",
"required": [
"average_heart_rate",
"kilojoule",
"max_heart_rate",
"percent_recorded",
"strain",
"zone_durations"
],
"type": "object",
"properties": {
"strain": {
"type": "number",
"description": "WHOOP metric of the cardiovascular load - the level of strain the workout had on the user's cardiovascular system based on the user's heart rate. Strain is scored on a scale from 0 to 21.",
"format": "float",
"example": 8.2463,
"externalDocs": {
"description": "WHOOP Strain",
"url": "https://api.prod.whoop.com/url-mapping-service/v1/STRAIN"
}
},
"average_heart_rate": {
"type": "integer",
"description": "The user's average heart rate (beats per minute) during the workout.",
"format": "int32",
"example": 123
},
"max_heart_rate": {
"type": "integer",
"description": "The user's max heart rate (beats per minute) during the workout.",
"format": "int32",
"example": 146
},
"kilojoule": {
"type": "number",
"description": "Kilojoules the user expended during the workout.",
"format": "float",
"example": 1569.34033203125
},
"percent_recorded": {
"type": "number",
"description": "Percentage (0-100%) of heart rate data WHOOP received during the workout.",
"format": "float",
"example": 100.0
},
"distance_meter": {
"type": "number",
"description": "The distance the user travelled during the workout. Only present if distance data sent to WHOOP",
"format": "float",
"example": 1772.77035916
},
"altitude_gain_meter": {
"type": "number",
"description": "The altitude gained during the workout. This measurement does not account for downward travel - it is strictly a measure of altitude climbed. If a member climbed up and down a 1,000 meter mountain, ending at the same altitude, this measurement would be 1,000 meters. Only present if altitude data is included as part of the workout",
"format": "float",
"example": 46.64384460449
},
"altitude_change_meter": {
"type": "number",
"description": "The altitude difference between the start and end points of the workout. If a member climbed up and down a mountain, ending at the same altitude, this measurement would be 0. Only present if altitude data is included as part of the workout",
"format": "float",
"example": -0.781372010707855
},
"zone_durations": {
"$ref": "#/components/schemas/ZoneDurations"
}
}
}