WHOOP · Schema
Recovery
WHOOP Recovery schema
FitnessWearablesHealthRecoverySleepWorkoutsStrainHeart RatePerformance
Properties
| Name | Type | Description |
|---|---|---|
| cycle_id | integer | The Recovery represents how recovered the user is for this physiological cycle |
| sleep_id | string | ID of the Sleep associated with the Recovery |
| user_id | integer | The WHOOP User for the recovery |
| created_at | string | The time the recovery was recorded in WHOOP |
| updated_at | string | The time the recovery was last updated in WHOOP |
| score_state | string | `SCORED` means the recovery was scored and the measurement values will be present. `PENDING_SCORE` means WHOOP is currently evaluating the cycle. `UNSCORABLE` means this activity could not be scored f |
| score | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/whoop/main/json-schema/whoop-recovery-schema.json",
"title": "Recovery",
"description": "WHOOP Recovery schema",
"required": [
"created_at",
"cycle_id",
"score_state",
"sleep_id",
"updated_at",
"user_id"
],
"type": "object",
"properties": {
"cycle_id": {
"type": "integer",
"description": "The Recovery represents how recovered the user is for this physiological cycle",
"format": "int64",
"example": 93845
},
"sleep_id": {
"type": "string",
"description": "ID of the Sleep associated with the Recovery",
"format": "uuid",
"example": "123e4567-e89b-12d3-a456-426614174000"
},
"user_id": {
"type": "integer",
"description": "The WHOOP User for the recovery",
"format": "int64",
"example": 10129
},
"created_at": {
"type": "string",
"description": "The time the recovery was recorded in WHOOP",
"format": "date-time",
"example": "2022-04-24T11:25:44.774Z"
},
"updated_at": {
"type": "string",
"description": "The time the recovery was last updated in WHOOP",
"format": "date-time",
"example": "2022-04-24T14:25:44.774Z"
},
"score_state": {
"type": "string",
"description": "`SCORED` means the recovery was scored and the measurement values will be present. `PENDING_SCORE` means WHOOP is currently evaluating the cycle. `UNSCORABLE` means this activity could not be scored for some reason - commonly because there is not enough user metric data for the time range.",
"example": "SCORED",
"enum": [
"SCORED",
"PENDING_SCORE",
"UNSCORABLE"
]
},
"score": {
"$ref": "#/components/schemas/RecoveryScore"
}
}
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/whoop-recovery"
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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.