{ "$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" } } }