Documentation
Start with server setup, then explore your data through the dashboard, API or an AI assistant. Each guide links to the details you need along the way.
Set up with a coding assistant
Help me set up PulsHealth on my server. Read https://pulshealth.com/llms.txt and https://pulshealth.com/docs/setup/ first. Check my machine, network and existing installation, then follow the guide. Preserve existing data and keep secrets out of chat. Help me pair my iPhone and verify that synced data arrived.
Use an assistant with terminal access to your server, or follow the setup guide yourself.
Bring your own server.
For AI tools: documentation index · setup guide as Markdown
Getting started
Set up a server, connect an assistant to synced data, or use the app on its own.
Read the guide
Read the guide
How it works
Get started
Reference
Configuration, data formats and interfaces when you need the details.
Read the guide
Read the guide
Read the guide
Read the guide
Read the guide
Read the guide
Read the guide
Read the guide
Read the guide
Read the guide
See what is included
Project
How the project is run: reporting problems, what shipped, what is next.
Read the guide
Read the guide
Read the guide
What the app syncs
81 Apple Health types, grouped the way Apple Health groups them. Nothing is read until you turn a type on and iOS grants permission. Workouts carry their GPS routes and per-second sensor series; ECGs bring their microvolt trace; State of Mind, sleep apnea events and medication doses come across on the iOS versions that support them.
Every type, by nameshow 81hide
Activity
- Active Energykcal
- Activity Rings
- Cycling Cadencecount/min
- Cycling Distancem
- Cycling PowerW
- Cycling Speedm/s
- Double Support %%
- Exercise Minutesmin
- Flights Climbedcount
- Ground Contact Timems
- Move Minutesmin
- Physical Effortkcal/hr*kg
- Resting Energykcal
- Running PowerW
- Running Speedm/s
- Running Stride Lengthm
- Stand Hours
- Stand Minutesmin
- Step Lengthm
- Stepscount
- Swimming Distancem
- Swimming Strokescount
- Vertical Oscillationcm
- VO₂ Maxml/kg*min
- Walking + Running Distancem
- Walking Asymmetry %%
- Walking Speedm/s
Heart
- AFib Burden%
- ECG
- Heart Ratecount/min
- Heartbeat Series (beat-to-beat)
- High HR Events
- HR Recovery (1 min)count/min
- HRV (RMSSD)ms
- HRV (SDNN)ms
- Irregular Rhythm Events
- Low Cardio Fitness Events
- Low HR Events
- Perfusion Index%
- Resting Heart Ratecount/min
- Walking HR Averagecount/min
Body
- Basal Body TemperaturedegC
- BMIcount
- Body Fat %%
- Body TemperaturedegC
- Body Weightkg
- Heightm
- Lean Body Masskg
- Waist Circumferencem
Respiratory
- Blood Oxygen%
- Respiratory Ratecount/min
Sleep
- Sleep Apnea Events
- Sleep Stages
- Wrist Temperature (Sleep)degC
Nutrition
- Caffeinemg
- Carbohydratesg
- Dietary Energykcal
- Fiberg
- Proteing
- Sodiummg
- Sugarg
- Total Fatg
- WatermL
Vitals
- Blood Alcohol Content%
- Blood Glucosemg/dL
- Blood Pressure (Diastolic)mmHg
- Blood Pressure (Systolic)mmHg
- Fallscount
Workouts
- Workouts
Other
- Environmental SounddBASPL
- Handwashing Events
- Headphone AudiodBASPL
- Loud Environment Events
- Loud Headphone Events
- Medication Doses
- Mindful Minutes
- Sound ReductiondBASPL
- State of Mind
- Time in Daylightmin
- Toothbrushing Events
- UV Exposurecount
Rendered at build time from the protocol's published vocabulary, catalog.json. Units are the canonical ones every sample is converted to before upload.
Looking for something not listed here? Every other document, the schemas and the code itself are in the repository. Browse the repository