WHOOP · Schema

RecoveryScore

WHOOP's measurements and evaluation of the recovery. Only present if the Recovery State is `SCORED`

FitnessWearablesHealthRecoverySleepWorkoutsStrainHeart RatePerformance

Properties

Name Type Description
user_calibrating boolean True if the user is still calibrating and not enough data is available in WHOOP to provide an accurate recovery.
recovery_score number Percentage (0-100%) that reflects how well prepared the user's body is to take on Strain. The Recovery score is a measure of the user body's "return to baseline" after a stressor.
resting_heart_rate number The user's resting heart rate.
hrv_rmssd_milli number The user's Heart Rate Variability measured using Root Mean Square of Successive Differences (RMSSD), in milliseconds.
spo2_percentage number The percentage of oxygen in the user's blood. Only present if the user is on 4.0 or greater.
skin_temp_celsius number The user's skin temperature, in Celsius. Only present if the user is on 4.0 or greater.
View JSON Schema on GitHub

JSON Schema

whoop-recoveryscore-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/whoop/main/json-schema/whoop-recoveryscore-schema.json",
  "title": "RecoveryScore",
  "description": "WHOOP's measurements and evaluation of the recovery. Only present if the Recovery State is `SCORED`",
  "required": [
    "hrv_rmssd_milli",
    "recovery_score",
    "resting_heart_rate",
    "user_calibrating"
  ],
  "type": "object",
  "properties": {
    "user_calibrating": {
      "type": "boolean",
      "description": "True if the user is still calibrating and not enough data is available in WHOOP to provide an accurate recovery.",
      "example": false
    },
    "recovery_score": {
      "type": "number",
      "description": "Percentage (0-100%) that reflects how well prepared the user's body is to take on Strain. The Recovery score is a measure of the user body's \"return to baseline\" after a stressor.",
      "format": "float",
      "example": 44.0,
      "externalDocs": {
        "description": "WHOOP Recovery",
        "url": "https://api.prod.whoop.com/url-mapping-service/v1/RECOVERY"
      }
    },
    "resting_heart_rate": {
      "type": "number",
      "description": "The user's resting heart rate.",
      "format": "float",
      "example": 64.0
    },
    "hrv_rmssd_milli": {
      "type": "number",
      "description": "The user's Heart Rate Variability measured using Root Mean Square of Successive Differences (RMSSD), in milliseconds.",
      "format": "float",
      "example": 31.813562
    },
    "spo2_percentage": {
      "type": "number",
      "description": "The percentage of oxygen in the user's blood. Only present if the user is on 4.0 or greater.",
      "format": "float",
      "example": 95.6875
    },
    "skin_temp_celsius": {
      "type": "number",
      "description": "The user's skin temperature, in Celsius. Only present if the user is on 4.0 or greater.",
      "format": "float",
      "example": 33.7
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/whoop-recoveryscore"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.