---
title: "Each day's daytime low and last heart-rate reading over a range"
method: GET
path: "/api/health/heart-rate-days"
tags: ["Health"]
---

# Each day's daytime low and last heart-rate reading over a range

`GET /api/health/heart-rate-days`

## Request

- Base URL: `https://api.hiyd.ai`
- URL: `https://api.hiyd.ai/api/health/heart-rate-days`
- Auth: HTTP bearer

One entry for every date from start to end inclusive, in order, so
the app can load many days of resting heart rate in one request
instead of one hourly /heart-rate-timeline per day. Each day is
summarized exactly as /heart-rate-timeline?granularity=hourly&date=D
with the same time_zone summarizes it:
- daytime_low: the lowest hourly point between 11 AM and 11 PM
  (hour_24 11 to 22) in that response, taking each hour's min (its
  heart_rate when min is missing) and skipping missing or
  non-positive values; null when there is none.
- last_reading: that response's stats.current, the day's latest
  heart-rate reading; null when the day has none.
- last_reading_at: that response's stats.current_at, the ISO-8601
  UTC time of last_reading; null when last_reading is null.

## Query parameters

- `start` string, date, required
- `end` string, date, required
- `time_zone` string

## Response `200`

One entry per date from start to end

- object
  - `days` object[]
    - `date` string, date
    - `daytime_low` number, nullable
    - `last_reading` number, nullable
    - `last_reading_at` string, date-time, nullable

## Other responses

- `400`: Missing or malformed start/end (invalid_date), end before start (invalid_range), or more than 62 days (range_too_wide)

---

[API](https://skmtc.dev/hiyd/apis/hiyd-backend-api.md) - [All operations](https://skmtc.dev/hiyd/apis/hiyd-backend-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hiyd/apis/hiyd-backend-api/revisions/23598d347e1b?raw)
