Skip to main content
Summary endpoints provide daily aggregated views of health data, rolling up detailed time-series data into comprehensive daily snapshots.

Get Activity Summary

user_id
string
required
UUID of the user
start_date
string
required
Start date for the range (ISO 8601 format or Unix timestamp)
end_date
string
required
End date for the range (ISO 8601 format or Unix timestamp)
cursor
string
Pagination cursor from previous response
limit
integer
default:"50"
Number of records per page (1-400)
sort_order
string
default:"asc"
Sort order: asc or desc
cURL
curl -X GET "https://api.openwearables.com/api/v1/users/123e4567-e89b-12d3-a456-426614174000/summaries/activity?start_date=2024-03-01&end_date=2024-03-07&limit=7" \
  -H "X-API-Key: your_api_key"

Response

data
array
Array of activity summary objects
pagination
object
metadata
object
{
  "data": [
    {
      "date": "2024-03-01",
      "source": {
        "provider": "apple_health",
        "device": "Apple Watch Series 9"
      },
      "steps": 8432,
      "distance_meters": 6240.5,
      "floors_climbed": 12,
      "elevation_meters": 36.0,
      "active_calories_kcal": 342.5,
      "total_calories_kcal": 2150.0,
      "active_minutes": 60,
      "sedentary_minutes": 480,
      "intensity_minutes": {
        "light": 120,
        "moderate": 45,
        "vigorous": 15
      },
      "heart_rate": {
        "avg_bpm": 72,
        "max_bpm": 165,
        "min_bpm": 52
      }
    }
  ],
  "pagination": {
    "next_cursor": "eyJpZCI6IjEyMzQ1Njc4OTAiLCJ0cyI6MTcwNDA2NzIwMH0",
    "previous_cursor": null,
    "has_more": true,
    "total_count": 7
  },
  "metadata": {
    "resolution": "raw",
    "sample_count": 1,
    "start_time": "2024-03-01T00:00:00Z",
    "end_time": "2024-03-01T23:59:59Z"
  }
}

Get Sleep Summary

user_id
string
required
UUID of the user
start_date
string
required
Start date for the range (ISO 8601 format or Unix timestamp)
end_date
string
required
End date for the range (ISO 8601 format or Unix timestamp)
cursor
string
Pagination cursor from previous response
limit
integer
default:"50"
Number of records per page (1-100)
cURL
curl -X GET "https://api.openwearables.com/api/v1/users/123e4567-e89b-12d3-a456-426614174000/summaries/sleep?start_date=2024-03-01&end_date=2024-03-07" \
  -H "X-API-Key: your_api_key"

Response

data
array
Array of sleep summary objects
{
  "data": [
    {
      "date": "2024-03-01",
      "source": {
        "provider": "apple_health",
        "device": "Apple Watch Series 9"
      },
      "start_time": "2024-03-01T23:15:00Z",
      "end_time": "2024-03-02T07:30:00Z",
      "duration_minutes": 450,
      "time_in_bed_minutes": 480,
      "efficiency_percent": 89.5,
      "stages": {
        "awake_minutes": 30,
        "light_minutes": 240,
        "deep_minutes": 120,
        "rem_minutes": 90
      },
      "interruptions_count": 2,
      "nap_count": 1,
      "nap_duration_minutes": 30,
      "avg_heart_rate_bpm": 58,
      "avg_hrv_sdnn_ms": 52.3,
      "avg_respiratory_rate": 14.5,
      "avg_spo2_percent": 97.2
    }
  ],
  "pagination": {
    "next_cursor": null,
    "previous_cursor": null,
    "has_more": false,
    "total_count": 1
  },
  "metadata": {
    "resolution": "raw",
    "sample_count": 1,
    "start_time": "2024-03-01T00:00:00Z",
    "end_time": "2024-03-07T23:59:59Z"
  }
}

Get Body Summary

user_id
string
required
UUID of the user
average_period
integer
default:"7"
Days to average vitals (1-7). Affects the averaged section of the response.
latest_window_hours
integer
default:"4"
Hours for latest readings to be considered valid (1-24). Affects the latest section of the response.
cURL
curl -X GET "https://api.openwearables.com/api/v1/users/123e4567-e89b-12d3-a456-426614174000/summaries/body?average_period=7&latest_window_hours=4" \
  -H "X-API-Key: your_api_key"

Response

Returns comprehensive body metrics organized into three semantic categories:
  • slow_changing: Values that change infrequently (weight, height, body composition)
  • averaged: Vitals averaged over the specified period (resting HR, HRV)
  • latest: Point-in-time readings only if measured within the time window (temperature, blood pressure)
Returns null if no body data exists for the user.
source
object
required
slow_changing
object
averaged
object
latest
object
{
  "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,
    "period_start": "2024-03-01T00:00:00Z",
    "period_end": "2024-03-07T23:59:59Z"
  },
  "latest": {
    "body_temperature_celsius": 36.6,
    "body_temperature_measured_at": "2024-03-07T08:15:00Z",
    "skin_temperature_celsius": 33.2,
    "skin_temperature_measured_at": "2024-03-07T08:15:00Z",
    "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
    },
    "blood_pressure_measured_at": "2024-03-07T07:30:00Z"
  }
}

Get Recovery Summary

user_id
string
required
UUID of the user
start_date
string
required
Start date for the range (ISO 8601 format or Unix timestamp)
end_date
string
required
End date for the range (ISO 8601 format or Unix timestamp)
cursor
string
Pagination cursor from previous response
limit
integer
default:"50"
Number of records per page (1-100)
cURL
curl -X GET "https://api.openwearables.com/api/v1/users/123e4567-e89b-12d3-a456-426614174000/summaries/recovery?start_date=2024-03-01&end_date=2024-03-07" \
  -H "X-API-Key: your_api_key"
This endpoint returns 501 Not Implemented as the feature is under development. Recovery metrics combine sleep, HRV, and resting heart rate data to provide a comprehensive recovery score.

Response (When Implemented)

data
array
Array of recovery summary objects

Build docs developers (and LLMs) love