GET /users/{user_id}/sleep Get sleep sessions

Returns per-session sleep data with duration, stages (light, deep, REM), efficiency, and overnight vitals (heart rate, HRV, respiratory rate, SpO2, temperature).

ParameterInTypeRequiredDescription
user_idpathstringrequiredSonar user ID
start_datequerystring (date)requiredStart date (ISO 8601)
end_datequerystring (date)requiredEnd date (ISO 8601)
unit_systemquerystringoptional`metric` (default) or `imperial`
include_sourcesquerybooleanoptionalInclude source device info (default: false)

Example Request

bash
curl -X GET \
  "https://api.sonarhealth.co/v1/users/:user_id/sleep?start_date={start_date}&end_date={end_date}" \
  -H "Authorization: Bearer $TOKEN"

Response 200 Sleep sessions

json
{
  "data": [
    {
      "start": "2025-01-14T23:15:00Z",
      "end": "2025-01-15T06:45:00Z",
      "asleep": 420,
      "time_awake": 30,
      "light_sleep": 228,
      "deep_sleep": 84,
      "REM": 108,
      "restorative_sleep": 192,
      "time_in_bed": 450,
      "sleep_efficiency": 93,
      "sleep_heart_rate": 54,
      "sleep_heart_rate_variability": 48,
      "sleep_respiratory_rate": 14,
      "sleep_blood_oxygen": 97,
      "sleep_body_temperature": 36.4,
      "sleep_skin_temperature": 35.8,
      "sleep_wrist_temperature": 35.2
    }
  ]
}