---
title: "Recent mornings' recovery readings"
method: GET
path: "/wellness"
tags: ["Recovery"]
---

# Recent mornings' recovery readings

`GET /wellness`

## Request

- Base URL: `https://bodylab.lol/api/v1`
- URL: `https://bodylab.lol/api/v1/wellness`
- Auth: HTTP bearer

## Query parameters

- `days` integer: How many days back from today.

## Headers

- `X-Client-Platform` string
- `X-Client-Version` string

## Response `200`

OK

- WellnessHistory
  - `today` string, date, required: Today on the athlete's calendar, in their time zone.
  - `entries` WellnessDay[], required: Days with readings, newest first; days without are absent.
    - `date` string, date, required: A day on the athlete's own calendar: YYYY-MM-DD, no time zone.
    - `restingHr` integer, nullable, required: Morning resting heart rate, beats per minute.
    - `hrv` integer, nullable, required: Overnight heart-rate variability, milliseconds (RMSSD).
    - `sleepScore` integer, nullable, required: Sleep score, 0–100.
    - `energy` integer, nullable, required: A device's energy or body-battery score, 0–100.
    - `sleepMinutes` integer, nullable, required: Minutes asleep on the night that ended this morning, awake time excluded, as the source's sleep tracking measured it. Not used by readiness.
    - `sleepStartMin` integer, nullable: Start of the night's main sleep period as the source records it (usually going to bed, not falling asleep). Wall-clock minutes after 12:00 local time on the day before `date`: 23:55 is 715, 06:40 is 1120, 1800 is 18:00 on `date`. Wall clock, so across a daylight-saving change end minus start is an hour off the elapsed time; use sleepMinutes for a duration. Null when the source of sleepMinutes recorded no period for the night.
    - `sleepEndMin` integer, nullable: End of the night's main sleep period as the source records it. Wall-clock minutes after 12:00 local time on the day before `date`: 23:55 is 715, 06:40 is 1120, 1800 is 18:00 on `date`. Wall clock, so across a daylight-saving change end minus start is an hour off the elapsed time; use sleepMinutes for a duration. Null when the source of sleepMinutes recorded no period for the night.
    - `source` string, required: Who recorded the day's readings. manual (typed in) is Body Lab's own; any other value is the service the athlete synced it from.

## Other responses

- `401`: Error: UNAUTHORIZED.

---

[API](https://skmtc.dev/bodylab/apis/body-lab-api.md) · [All operations](https://skmtc.dev/bodylab/apis/body-lab-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bodylab/apis/body-lab-api/revisions/544c201eaf88?raw)
