WHOOP · Schema

WHOOP Workout

Schema for a WHOOP Workout (v2). A Workout represents a discrete bout of activity tagged with a sport name, with Strain, heart-rate, and heart-rate-zone summaries.

FitnessWearablesHealthRecoverySleepWorkoutsStrainHeart RatePerformance

Properties

Name Type Description
id string
v1_id integer Legacy v1 numeric ID (deprecated).
user_id integer
created_at string
updated_at string
start string
end string
timezone_offset string
sport_name string Sport classification (e.g. running, cycling, weightlifting).
score_state string
score object
View JSON Schema on GitHub

JSON Schema

whoop-workout-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api-evangelist.com/schemas/whoop-co/whoop-workout-schema.json",
  "title": "WHOOP Workout",
  "description": "Schema for a WHOOP Workout (v2). A Workout represents a discrete bout of activity tagged with a sport name, with Strain, heart-rate, and heart-rate-zone summaries.",
  "type": "object",
  "required": ["id", "user_id", "created_at", "updated_at", "start", "end", "timezone_offset", "sport_name", "score_state"],
  "properties": {
    "id": {"type": "string", "format": "uuid"},
    "v1_id": {"type": "integer", "format": "int64", "description": "Legacy v1 numeric ID (deprecated)."},
    "user_id": {"type": "integer", "format": "int64"},
    "created_at": {"type": "string", "format": "date-time"},
    "updated_at": {"type": "string", "format": "date-time"},
    "start": {"type": "string", "format": "date-time"},
    "end": {"type": "string", "format": "date-time"},
    "timezone_offset": {"type": "string"},
    "sport_name": {"type": "string", "description": "Sport classification (e.g. running, cycling, weightlifting)."},
    "score_state": {"type": "string", "enum": ["SCORED", "PENDING_SCORE", "UNSCORABLE"]},
    "score": {
      "type": "object",
      "required": ["strain", "average_heart_rate", "max_heart_rate", "kilojoule", "percent_recorded", "zone_durations"],
      "properties": {
        "strain": {"type": "number", "format": "float", "minimum": 0, "maximum": 21},
        "average_heart_rate": {"type": "integer"},
        "max_heart_rate": {"type": "integer"},
        "kilojoule": {"type": "number", "format": "float"},
        "percent_recorded": {"type": "number", "format": "float", "minimum": 0, "maximum": 100},
        "distance_meter": {"type": "number", "format": "float"},
        "altitude_gain_meter": {"type": "number", "format": "float"},
        "altitude_change_meter": {"type": "number", "format": "float"},
        "zone_durations": {
          "type": "object",
          "required": ["zone_zero_milli", "zone_one_milli", "zone_two_milli", "zone_three_milli", "zone_four_milli", "zone_five_milli"],
          "properties": {
            "zone_zero_milli": {"type": "integer"},
            "zone_one_milli": {"type": "integer"},
            "zone_two_milli": {"type": "integer"},
            "zone_three_milli": {"type": "integer"},
            "zone_four_milli": {"type": "integer"},
            "zone_five_milli": {"type": "integer"}
          }
        }
      }
    }
  }
}

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-workout"
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.