GET /users/{user_id}/daily Get daily metrics

Returns aggregated daily values for the requested metrics. Each row is one metric on one day. Data is deduplicated across connected devices (canonical layer).

ParameterInTypeRequiredDescription
user_idpathstringrequiredSonar user ID
metricsquerystringoptionalComma-separated metric IDs (default: all). E.g., `steps,resting_heart_rate,active_calories`
start_datequerystring (date)requiredStart date (ISO 8601)
end_datequerystring (date)requiredEnd date (ISO 8601). Max range: 90 days.
unit_systemquerystringoptional`metric` (default) or `imperial`
include_sourcesquerybooleanoptionalInclude which device contributed each value (default: false)

Example Request

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

Response 200 Daily metric values

json
{
  "data": [
    {
      "date": "2025-01-14",
      "metric": "steps",
      "value": 9842,
      "unit": "count"
    },
    {
      "date": "2025-01-14",
      "metric": "active_calories",
      "value": 485,
      "unit": "kcal"
    },
    {
      "date": "2025-01-14",
      "metric": "resting_heart_rate",
      "value": 52,
      "unit": "bpm"
    },
    {
      "date": "2025-01-14",
      "metric": "heart_rate_variability",
      "value": 58,
      "unit": "ms"
    },
    {
      "date": "2025-01-13",
      "metric": "steps",
      "value": 12100,
      "unit": "count"
    }
  ]
}