v3

latestOpenAPI 3.1.02026-07-31121144224.9 KB
External: Summaries

Get Body Summary

Returns comprehensive body metrics with semantic grouping.

Response is organized into three categories:

  • static: Slow-changing values (weight, height, body fat, muscle mass, BMI, age) Returns the most recent recorded value for each field.
  • averaged: Vitals averaged over a period (resting HR, HRV) Period is configurable via average_period parameter (1-7 days).
  • latest: Point-in-time readings (body temperature, blood pressure) Only returned if measured within latest_window_hours (default 4 hours).

Returns null if no body data exists for the user.

get/api/v1/users/{user_id}/summaries/body

Path parameters

user_idstring uuid required

Query parameters

average_periodinteger

Days to average vitals (1-7)

Days to average vitals (1-7)

latest_window_hoursinteger

Hours for latest readings to be considered valid (1-24)

Hours for latest readings to be considered valid (1-24)

Headers

X-Open-Wearables-API-Keystring nullable

Response

Successful Response

Example response

{
  "source": {
    "provider": "apple_health",
    "device": "Apple Watch Series 9"
  },
  "slow_changing": {
    "weight_kg": 72.5,
    "height_cm": 175.5,
    "body_fat_percent": 18.5,
    "muscle_mass_kg": 58.2,
    "bmi": 23.5,
    "age": 32
  },
  "averaged": {
    "period_days": 7,
    "resting_heart_rate_bpm": 62,
    "avg_hrv_sdnn_ms": 45.2,
    "avg_hrv_rmssd_ms": 42
  },
  "latest": {
    "body_temperature_celsius": 36.6,
    "skin_temperature_celsius": 36.6,
    "blood_pressure": {
      "avg_systolic_mmhg": 120,
      "avg_diastolic_mmhg": 80,
      "max_systolic_mmhg": 135,
      "max_diastolic_mmhg": 90,
      "min_systolic_mmhg": 110,
      "min_diastolic_mmhg": 72,
      "reading_count": 5
    }
  }
}