What Apple Health has, and what it doesn't
HRV in Apple Health is SDNN. Apple's developer documentation says HealthKit measures heart rate variability as SDNN, the standard deviation of the intervals between normal heartbeats, in milliseconds, and that Apple Watch records it automatically. Apps that use another method, such as RMSSD, give different numbers, so compare your Watch only with itself.
There's no readiness score to read. Apple Health has no data type for a readiness or recovery score, so scores from other wearables stay in their own apps. Oura, for example, lists what it writes to Apple Health, and neither Readiness nor HRV is on the list. What Apple Health does have are the signals those scores are built from, and an AI can work with those.
The signals the AI can use
| Signal | What the AI gets | Worth knowing |
|---|---|---|
| HRV (SDNN) | Daily average, low and high, or each reading with its time | A day runs midnight to midnight, so today's average is partial |
| Resting heart rate | Daily value, in bpm | Compare with your own average, not a chart online |
| Sleep | Each night: time asleep, deep, core, REM, bedtime and wake time | Up to 92 nights in one lookup |
| Workouts | Type, start time, minutes, distance and active energy | HealthAPI doesn't include heart rate or effort per workout, so load means minutes or energy |
| Extras | Respiratory rate, sleeping wrist temperature, cardio fitness | Only if your Watch records them |
All of it is read only and comes from the 50 synced metrics. For more on the nights themselves, see analyze sleep with AI.
Set it up in 3 steps
Install HealthAPI
Get it from the App Store, allow Apple Health, and let your history sync. A year comes in by default, more than enough for a 30-day baseline.Paste the rule
Use the prompt below, then change the thresholds until they match how you feel.
Build your readiness rule
The idea is simple: one day's HRV is noisy, so compare a short window (the last 7 days) with a longer one (the last 30), and only call it a bad day when several signals agree. The thresholds below are examples. Change them, and keep the ones that match the days you actually felt good or flat.
Check my training readiness for today from my Apple Health data, against my own baseline.
Signals:
1. HRV: my 7-day average of daily HRV, compared with my 30-day average and its normal spread (one standard deviation of the daily values).
2. Resting heart rate: yesterday's, compared with my 30-day average.
3. Sleep: last night's time asleep, compared with my 30-night average.
4. Load: my workout minutes in the last 7 days, compared with my average week over the last 4 weeks.
My rule:
- Green: HRV is not more than one standard deviation below my 30-day average, resting heart rate is no more than 3 bpm above its average, and I slept at least 7 hours.
- Amber: one of those three misses, or this week's workout minutes are over 1.5 times my average week.
- Red: two or more miss.
Show each number next to its baseline in a table, then the color. No medical advice.“Should I train hard today?”
Green by your rule. Your 7-day HRV is 52 ms against a 30-day normal of 45 to 58. Resting heart rate was 56 bpm, 1 above average, and you slept 7.4 h.
Once a rule works for you, keep the prompt in a note and paste it into a new chat each morning. Each check takes four or five lookups.
More prompts
Find your baseline
- “What are my 30-day average HRV and resting heart rate, and what's a normal day-to-day range for each?”
- “Show my 7-day average HRV for each of the last 12 weeks. Is it trending up, down or flat?”
This morning
- “List my HRV readings since midnight with their times, and compare their average with my 30-day average.”
- “How did last night's sleep compare with my 30-night average, and what was my resting heart rate yesterday?”
Tune the rule
- “Over the last 90 days, did my HRV dip on the day after my longest workouts? By how much, on average?”
- “If you had used my rule every day for the last 60 days, how many green, amber and red days would I have had?”
- “Which threshold in my rule fires most often? Would 0.5 or 1.5 standard deviations fit my data better?”
Checks before you trust an answer
- “How many HRV readings does each of the last 7 days have?”
- “List the daily numbers you used for the baseline.”
Getting better answers
- Trust trends over single days. A low reading on its own means little. Several days below your usual range, together with a higher resting heart rate or short sleep, says more.
- Judge this morning by its readings. Today's daily average is partial, so ask for the HRV readings since midnight.
- Keep one source. If you switch watches, or another app also writes HRV, the baseline mixes sources. Ask the AI to start the baseline after the switch.
- Count load the way the data allows. Workouts come with minutes and active energy, not effort. Pick one and stick with it.
- Your body has the last word. HealthAPI and the AI apps aren't medical devices, and a rule isn't coaching or medical advice. If you feel unwell, rest, and talk to a doctor about anything that worries you.
For a recap of the whole week rather than one morning, see the weekly health report guide.
Questions
Is Apple Health HRV the same as WHOOP or Oura HRV?
Not necessarily. Apple's developer documentation says HealthKit's HRV is SDNN, the standard deviation of the intervals between heartbeats. Apps that use another method, such as RMSSD, give different numbers, so compare a device only with itself.
Can the AI see my Oura Readiness, WHOOP Recovery or Garmin scores?
Not through Apple Health, which has no data type for a readiness or recovery score, so those scores stay in their own apps. Oura's list of what it writes to Apple Health doesn't include Readiness or HRV. What the AI can do is build a rule from the signals Apple Health does have. See the Oura, WHOOP and Garmin guides for what each one writes.
Why is today's HRV low or missing?
Today's daily average is partial until the day ends, and early in the day it may hold only one or two readings. Ask for the single readings since midnight instead, and judge readiness on the 7-day average rather than one number.
Does HealthAPI sync the new RMSSD type in iOS 27?
No. iOS 27 adds a separate RMSSD heart rate variability type to Apple Health, but the HRV HealthAPI syncs is the SDNN value Apple Watch records.
How many requests does a readiness check use?
About four or five: HRV and resting heart rate trends, a month of sleep, four weeks of workouts, and this morning's HRV readings if you ask for them. Syncing from your iPhone never counts.
Is this medical or coaching advice?
No. It's a rule you write, applied to your own numbers. HealthAPI and the AI apps aren't medical devices. If you feel unwell, rest, and talk to a doctor about anything that worries you.
