---
title: "Multiple Heartrate Documents"
method: GET
path: "/v2/usercollection/heartrate"
tags: ["Heart Rate Routes"]
---

# Multiple Heartrate Documents

`GET /v2/usercollection/heartrate`

## Query parameters

- `start_datetime` string, date-time, nullable
- `end_datetime` string, date-time, nullable
- `next_token` string, nullable
- `latest` boolean, nullable — If True, returns most recent sample.
- `fields` string, nullable — Comma-separated list of fields to include in the response, in addition to the always returned fields. Defaults to all fields if not provided.

## Response `200`

Successful Response

- union
  - TimeSeriesResponsePublicHeartRateRow
    - `data` PublicHeartRateRow[], required
      - `timestamp` string, required
      - `timestamp_unix` integer, required — Timestamp of the discrete sample as unix time in milliseconds.
      - `bpm` integer, required — Heart rate as beats per minute.
      - `source` 'awake' | 'workout' | 'rest' | 'sleep' | 'live' | 'session', required — Possible heart rate sources.
    - `next_token` string, nullable
  - TimeSeriesResponseDict
    - `data` object[], required
    - `next_token` string, nullable

## Other responses

- `400` — Client Exception
- `401` — Unauthorized access exception. Usually means the access token is expired, malformed or revoked.
- `403` — Access forbidden. Usually means the user's subscription to Oura has expired and their data is not available via the API.
- `422` — Validation Error
- `429` — Request Rate Limit Exceeded.

---

[API](https://skmtc.dev/ouraring/apis/oura-api-documentation.md) · [All operations](https://skmtc.dev/ouraring/apis/oura-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ouraring/oura-api-documentation/revisions/8b8ae3b61eda/schema)
