<br />

Health Connect stores and structures both health and fitness data and medical
records data. It's important to understand first what data types and permissions
Health Connect offers so that you can plan your app's requirements.

After development, when you prepare to publish your app to Google Play, you
must declare your app's data use as well as declare access to the Health Connect
data types that your app uses. Otherwise, users might be prompted with an error
message where your app can't access the Health Connect data types because they
require special approval.

For more information, see
[Complete the health apps declaration in the Play Console](https://developer.android.com/health-and-fitness/guides/health-connect/publish/declare-access).

## Data type categories

Health Connect supports data types that are used across most health and fitness
apps to provide as much variety as possible. Health Connect aims to offer a
comprehensive view and storage of health and fitness data. These data types fall
into the following categories:

<br />

| Category || Description |
|---|---|---|
| directions_run | **Activity** | This captures any activity that a user does. It can include health and fitness activities like running and swimming. |
| straighten | **Body Measurement** | This captures common data related to the body, such as a user's weight and their basal metabolic rate. |
| fertile | **Cycle Tracking** | This captures menstrual cycles and related data points, such as the binary result of an ovulation test. |
| grocery | **Nutrition** | This captures hydration and nutrition data types. The former represents how much water a user consume in a single drink. The latter includes optional fields such as calories, sugar, and magnesium. |
| sleep_auto | **Sleep** | This captures interval data related to a user's length and type of sleep. |
| vital_signs | **Vitals** | This captures essential information about the user's general health. It includes data such as body temperature, blood glucose, blood pressure, and blood oxygen saturation. |
| mindfulness | **Wellness** | This captures data related to a user's mental health and well-being. |
[*Table: Health Connect data type categories*]

<br />

## Developer experience guides

Health Connect provides developer experience guides that focus on specific
health and fitness use cases. These guides show you how to use relevant data
types together to build features for the following areas:

- [Sleep](https://developer.android.com/health-and-fitness/health-connect/experiences/sleep)
- [Vitals](https://developer.android.com/health-and-fitness/health-connect/experiences/vitals)
- [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts)

The following data type table also indicates which experience guides are
associated with each data type.

## Data type fields

The Health Connect data types table includes several field columns to help you
understand the structure and requirements of each data type. These columns are
as follows:

<br />

| Field || Description |
|---|---|---|
| schedule | **Record Type** | Indicates whether the data is recorded at an instant in time or over an interval. The possible values are: **Interval** , **Instantaneous** , **Series**. |
| straighten | **Unit** | The unit of measurement for the data type (for example, Calories, Meters, Count). |
| star | **Mandatory Fields** | These are the essential fields that must be included when writing data for this data type to help maintain data integrity and usefulness. |
[*Table: Data type fields descriptions*]

<br />

## Health and fitness data types

Before requesting any permissions, your app must declare them in the manifest.
For more information, see the [Declare permissions](https://developer.android.com/health-and-fitness/guides/health-connect/develop/get-started#declare-permissions)
section of the quick start guide.

The following table contains the full list of data types, each with category,
feature flags and guides, and permission declarations.

This table is for the Health Connect SDK version **1.0.0-alpha09 and lower** .
If you're using a higher version of the SDK, see
[Health Connect data types for SDK 1.0.0-alpha10 and higher](https://developer.android.com/health-and-fitness/health-connect/data-types).

<br />

| Data type Guides | Category | Record type Permission declarations Feature flag |
|---|---|---|
| **Active calories burned** [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts) guide [Native tracking](https://developer.android.com/health-and-fitness/health-connect/features/native-tracking) guide - **Record Type:**Interval - **Unit:** [Energy](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Energy) - #### Mandatory Fields `endTime` `energy` `metadata` `startTime` | Activity | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/ActiveCaloriesBurnedRecord` <br /> `androidx.health.permission.ActiveCaloriesBurned.READ` `androidx.health.permission.ActiveCaloriesBurned.WRITE` <br /> #### Aggregate data types [`ACTIVE_CALORIES_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/ActiveCaloriesBurnedRecord#ACTIVE_CALORIES_TOTAL()) |
| **Activity intensity** [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts) guide - **Record Type:**Interval - #### Mandatory Fields `activityIntensityType` `endTime` `metadata` `startTime` | Activity | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/ActivityIntensityRecord` <br /> <br /> `FEATURE_ACTIVITY_INTENSITY` #### Aggregate data types [`DURATION_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/ActivityIntensityRecord#DURATION_TOTAL()) [`INTENSITY_MINUTES_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/ActivityIntensityRecord#INTENSITY_MINUTES_TOTAL()) [`MODERATE_DURATION_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/ActivityIntensityRecord#MODERATE_DURATION_TOTAL()) [`VIGOROUS_DURATION_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/ActivityIntensityRecord#VIGOROUS_DURATION_TOTAL()) |
| **Basal body temperature** - **Record Type:**Instantaneous - **Unit:** [Temperature](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Temperature) - #### Mandatory Fields `temperature` `measurementLocation` `metadata` `time` | Cycle Tracking | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BasalBodyTemperatureRecord` <br /> `androidx.health.permission.BasalBodyTemperature.READ` `androidx.health.permission.BasalBodyTemperature.WRITE` <br /> |
| **Basal metabolic rate** - **Record Type:**Instantaneous - **Unit:** [Power](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Power) - #### Mandatory Fields `basalMetabolicRate` `metadata` `time` | Body Measurement | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BasalMetabolicRateRecord` <br /> `androidx.health.permission.BasalMetabolicRate.READ` `androidx.health.permission.BasalMetabolicRate.WRITE` <br /> #### Aggregate data types [`BASAL_CALORIES_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BasalMetabolicRateRecord#BASAL_CALORIES_TOTAL()) |
| **Blood glucose** [Vitals](https://developer.android.com/health-and-fitness/health-connect/experiences/vitals) guide - **Record Type:**Instantaneous - #### Mandatory Fields `level` `specimenSource` `mealType` `relationToMeal` `metadata` `time` | Vitals | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BloodGlucoseRecord` <br /> `androidx.health.permission.BloodGlucose.READ` `androidx.health.permission.BloodGlucose.WRITE` <br /> |
| **Blood pressure** [Vitals](https://developer.android.com/health-and-fitness/health-connect/experiences/vitals) guide - **Record Type:**Instantaneous - **Unit:** [Pressure](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Pressure) - #### Mandatory Fields `systolic` `diastolic` `bodyPosition` `measurementLocation` `metadata` `time` | Vitals | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BloodPressureRecord` <br /> `androidx.health.permission.BloodPressure.READ` `androidx.health.permission.BloodPressure.WRITE` <br /> #### Aggregate data types [`DIASTOLIC_AVG`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BloodPressureRecord#DIASTOLIC_AVG()) [`DIASTOLIC_MAX`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BloodPressureRecord#DIASTOLIC_MAX()) [`DIASTOLIC_MIN`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BloodPressureRecord#DIASTOLIC_MIN()) [`SYSTOLIC_AVG`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BloodPressureRecord#SYSTOLIC_AVG()) [`SYSTOLIC_MAX`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BloodPressureRecord#SYSTOLIC_MAX()) [`SYSTOLIC_MIN`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BloodPressureRecord#SYSTOLIC_MIN()) |
| **Body fat** - **Record Type:**Instantaneous - #### Mandatory Fields `percentage` `metadata` `time` | Body Measurement | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BodyFatRecord` <br /> `androidx.health.permission.BodyFat.READ` `androidx.health.permission.BodyFat.WRITE` <br /> |
| **Body temperature** [Vitals](https://developer.android.com/health-and-fitness/health-connect/experiences/vitals) guide - **Record Type:**Instantaneous - **Unit:** [Temperature](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Temperature) - #### Mandatory Fields `temperature` `measurementLocation` `metadata` `time` | Vitals | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BodyTemperatureRecord` <br /> `androidx.health.permission.BodyTemperature.READ` `androidx.health.permission.BodyTemperature.WRITE` <br /> |
| **Body water mass** - **Record Type:**Instantaneous - **Unit:** [Mass](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Mass) - #### Mandatory Fields `mass` `metadata` `time` | Body Measurement | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BodyWaterMassRecord` <br /> `androidx.health.permission.BodyWaterMass.READ` `androidx.health.permission.BodyWaterMass.WRITE` <br /> |
| **Bone mass** - **Record Type:**Instantaneous - **Unit:** [Mass](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Mass) - #### Mandatory Fields `mass` `metadata` `time` | Body Measurement | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/BoneMassRecord` <br /> `androidx.health.permission.BoneMass.READ` `androidx.health.permission.BoneMass.WRITE` <br /> |
| **Cervical mucus** - **Record Type:**Instantaneous - #### Mandatory Fields `appearance` `sensation` `metadata` `time` | Cycle Tracking | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/CervicalMucusRecord` <br /> `androidx.health.permission.CervicalMucus.READ` `androidx.health.permission.CervicalMucus.WRITE` <br /> |
| **Cycling pedaling cadence** [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts) guide - **Record Type:**Series - #### Mandatory Fields `samples` `endTime` `metadata` `samples` `startTime` | Activity | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/CyclingPedalingCadenceRecord` <br /> `androidx.health.permission.Exercise.READ` `androidx.health.permission.Exercise.WRITE` <br /> #### Aggregate data types [`RPM_AVG`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/CyclingPedalingCadenceRecord#RPM_AVG()) [`RPM_MAX`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/CyclingPedalingCadenceRecord#RPM_MAX()) [`RPM_MIN`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/CyclingPedalingCadenceRecord#RPM_MIN()) |
| **Distance** [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts) guide [Native tracking](https://developer.android.com/health-and-fitness/health-connect/features/native-tracking) guide - **Record Type:**Interval - **Unit:** [Length](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Length) - #### Mandatory Fields `distance` `endTime` `metadata` `startTime` | Activity | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/DistanceRecord` <br /> `androidx.health.permission.Distance.READ` `androidx.health.permission.Distance.WRITE` <br /> #### Aggregate data types [`DISTANCE_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/DistanceRecord#DISTANCE_TOTAL()) |
| **Elevation gained** [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts) guide - **Record Type:**Interval - **Unit:** [Length](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Length) - #### Mandatory Fields `elevation` `endTime` `metadata` `startTime` | Activity | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/ElevationGainedRecord` <br /> `androidx.health.permission.ElevationGained.READ` `androidx.health.permission.ElevationGained.WRITE` <br /> #### Aggregate data types [`ELEVATION_GAINED_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/ElevationGainedRecord#ELEVATION_GAINED_TOTAL()) |
| **Exercise** [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts) guide [Add exercise routes](https://developer.android.com/health-and-fitness/health-connect/features/exercise-routes) guide - **Record Type:**Interval - #### Mandatory Fields `exerciseType` `endTime` `laps` `metadata` `segments` `startTime` | Activity | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/ExerciseSessionRecord` <br /> `androidx.health.permission.ExerciseSession.READ` `androidx.health.permission.ExerciseSession.WRITE` <br /> #### Exercise types [View all exercise types](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/ExerciseSessionRecord#summary) `EXERCISE_TYPE_UNKNOWN` `EXERCISE_TYPE_BADMINTON` `EXERCISE_TYPE_BASEBALL` `EXERCISE_TYPE_BASKETBALL` `EXERCISE_TYPE_BIKING` `EXERCISE_TYPE_BIKING_STATIONARY` `EXERCISE_TYPE_BOOT_CAMP` `EXERCISE_TYPE_BOXING` `EXERCISE_TYPE_CALISTHENICS` `EXERCISE_TYPE_CRICKET` `EXERCISE_TYPE_DANCING` `EXERCISE_TYPE_ELLIPTICAL` `EXERCISE_TYPE_EXERCISE_CLASS` `EXERCISE_TYPE_FENCING` `EXERCISE_TYPE_FOOTBALL_AMERICAN` `EXERCISE_TYPE_FOOTBALL_AUSTRALIAN` `EXERCISE_TYPE_FRISBEE_DISC` `EXERCISE_TYPE_GOLF` `EXERCISE_TYPE_GUIDED_BREATHING` `EXERCISE_TYPE_GYMNASTICS` `EXERCISE_TYPE_HANDBALL` `EXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING` `EXERCISE_TYPE_HIKING` `EXERCISE_TYPE_ICE_HOCKEY` `EXERCISE_TYPE_ICE_SKATING` `EXERCISE_TYPE_MARTIAL_ARTS` `EXERCISE_TYPE_PADDLING` `EXERCISE_TYPE_PARAGLIDING` `EXERCISE_TYPE_PILATES` `EXERCISE_TYPE_RACQUETBALL` `EXERCISE_TYPE_ROCK_CLIMBING` `EXERCISE_TYPE_ROLLER_HOCKEY` `EXERCISE_TYPE_ROWING` `EXERCISE_TYPE_ROWING_MACHINE` `EXERCISE_TYPE_RUGBY` `EXERCISE_TYPE_RUNNING` `EXERCISE_TYPE_RUNNING_TREADMILL` `EXERCISE_TYPE_SAILING` `EXERCISE_TYPE_SCUBA_DIVING` `EXERCISE_TYPE_SKATING` `EXERCISE_TYPE_SKIING` `EXERCISE_TYPE_SNOWBOARDING` `EXERCISE_TYPE_SNOWSHOEING` `EXERCISE_TYPE_SOCCER` `EXERCISE_TYPE_SOFTBALL` `EXERCISE_TYPE_SQUASH` `EXERCISE_TYPE_STAIR_CLIMBING` `EXERCISE_TYPE_STAIR_CLIMBING_MACHINE` `EXERCISE_TYPE_STRENGTH_TRAINING` `EXERCISE_TYPE_STRETCHING` `EXERCISE_TYPE_SURFING` `EXERCISE_TYPE_SWIMMING_OPEN_WATER` `EXERCISE_TYPE_SWIMMING_POOL` `EXERCISE_TYPE_TABLE_TENNIS` `EXERCISE_TYPE_TENNIS` `EXERCISE_TYPE_VOLLEYBALL` `EXERCISE_TYPE_WALKING` `EXERCISE_TYPE_WATER_POLO` `EXERCISE_TYPE_WEIGHTLIFTING` `EXERCISE_TYPE_WHEELCHAIR` `EXERCISE_TYPE_OTHER_WORKOUT` `EXERCISE_TYPE_YOGA` #### Aggregate data types [`EXERCISE_DURATION_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/ExerciseSessionRecord#EXERCISE_DURATION_TOTAL()) |
| **Floors climbed** [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts) guide - **Record Type:**Interval - #### Mandatory Fields `floors` `endTime` `metadata` `startTime` | Activity | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/FloorsClimbedRecord` <br /> `androidx.health.permission.FloorsClimbed.READ` `androidx.health.permission.FloorsClimbed.WRITE` <br /> #### Aggregate data types [`FLOORS_CLIMBED_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/FloorsClimbedRecord#FLOORS_CLIMBED_TOTAL()) |
| **Heart rate** [Vitals](https://developer.android.com/health-and-fitness/health-connect/experiences/vitals) guide - **Record Type:**Series - #### Mandatory Fields `samples` `endTime` `metadata` `startTime` | Vitals | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/HeartRateRecord` <br /> `androidx.health.permission.HeartRate.READ` `androidx.health.permission.HeartRate.WRITE` <br /> #### Aggregate data types [`BPM_AVG`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/HeartRateRecord#BPM_AVG()) [`BPM_MAX`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/HeartRateRecord#BPM_MAX()) [`BPM_MIN`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/HeartRateRecord#BPM_MIN()) [`MEASUREMENTS_COUNT`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/HeartRateRecord#MEASUREMENTS_COUNT()) |
| **Heart rate variability** [Vitals](https://developer.android.com/health-and-fitness/health-connect/experiences/vitals) guide - **Record Type:**Instantaneous - #### Mandatory Fields `heartRateVariabilityMillis` `metadata` `time` | Vitals | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/HeartRateVariabilityRmssdRecord` <br /> `androidx.health.permission.HeartRateVariability.READ` `androidx.health.permission.HeartRateVariability.WRITE` <br /> |
| **Height** - **Record Type:**Instantaneous - **Unit:** [Length](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Length) - #### Mandatory Fields `height` `metadata` `time` | Body Measurement | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/HeightRecord` <br /> `androidx.health.permission.Height.READ` `androidx.health.permission.Height.WRITE` <br /> #### Aggregate data types [`HEIGHT_AVG`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/HeightRecord#HEIGHT_AVG()) [`HEIGHT_MAX`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/HeightRecord#HEIGHT_MAX()) [`HEIGHT_MIN`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/HeightRecord#HEIGHT_MIN()) |
| **Hydration** - **Record Type:**Interval - **Unit:** [Volume](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Volume) - #### Mandatory Fields `endTime` `metadata` `startTime` `volume` | Nutrition | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/HydrationRecord` <br /> `androidx.health.permission.Hydration.READ` `androidx.health.permission.Hydration.WRITE` <br /> #### Aggregate data types [`VOLUME_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/HydrationRecord#VOLUME_TOTAL()) |
| **Intermenstrual bleeding** - **Record Type:**Instantaneous - #### Mandatory Fields `metadata` `time` | Cycle Tracking | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/IntermenstrualBleedingRecord` <br /> `androidx.health.permission.IntermenstrualBleeding.READ` `androidx.health.permission.IntermenstrualBleeding.WRITE` <br /> |
| **Lean body mass** - **Record Type:**Instantaneous - **Unit:** [Mass](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Mass) - #### Mandatory Fields `mass` `metadata` `time` | Body Measurement | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/LeanBodyMassRecord` <br /> `androidx.health.permission.LeanBodyMass.READ` `androidx.health.permission.LeanBodyMass.WRITE` <br /> |
| **Menstruation** <br /> **For MenstruationFlowRecord:** - **Record Type:**Instantaneous - #### Mandatory Fields `flow` `metadata` `time` <br /> **For MenstruationPeriodRecord:** - **Record Type:**Interval - #### Mandatory Fields `endTime` `metadata` `startTime` | Cycle Tracking | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/MenstruationFlowRecord` <br /> `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/MenstruationPeriodRecord` <br /> `androidx.health.permission.Menstruation.READ` `androidx.health.permission.Menstruation.WRITE` <br /> <br /> |
| **Mindfulness** [Track mindfulness](https://developer.android.com/health-and-fitness/health-connect/features/mindfulness) guide - **Record Type:**Interval - #### Mandatory Fields `endTime` `metadata` `mindfulnessSessionType` `startTime` | Wellness | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/MindfulnessSessionRecord` <br /> <br /> `FEATURE_MINDFULNESS_SESSION` #### Mindfulness session types [View all mindfulness session types](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/MindfulnessSessionRecord#summary) `MINDFULNESS_SESSION_TYPE_UNKNOWN` `MINDFULNESS_SESSION_TYPE_MEDITATION` `MINDFULNESS_SESSION_TYPE_BREATHING` `MINDFULNESS_SESSION_TYPE_MUSIC` `MINDFULNESS_SESSION_TYPE_MOVEMENT` `MINDFULNESS_SESSION_TYPE_UNGUIDED` #### Aggregate data types [`MINDFULNESS_DURATION_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/MindfulnessSessionRecord#MINDFULNESS_DURATION_TOTAL()) |
| **Nutrition** - **Record Type:**Interval - **Unit:** [Mass](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Mass) - #### Mandatory Fields `endTime` `mealType` `metadata` `startTime` | Nutrition | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord` <br /> `androidx.health.permission.Nutrition.READ` `androidx.health.permission.Nutrition.WRITE` <br /> #### Aggregate data types [`BIOTIN_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#BIOTIN_TOTAL()) [`CAFFEINE_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#CAFFEINE_TOTAL()) [`CALCIUM_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#CALCIUM_TOTAL()) [`CHLORIDE_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#CHLORIDE_TOTAL()) [`CHOLESTEROL_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#CHOLESTEROL_TOTAL()) [`CHROMIUM_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#CHROMIUM_TOTAL()) [`COPPER_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#COPPER_TOTAL()) [`DIETARY_FIBER_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#DIETARY_FIBER_TOTAL()) [`ENERGY_FROM_FAT_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#ENERGY_FROM_FAT_TOTAL()) [`ENERGY_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#ENERGY_TOTAL()) [`FOLATE_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#FOLATE_TOTAL()) [`FOLIC_ACID_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#FOLIC_ACID_TOTAL()) [`IODINE_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#IODINE_TOTAL()) [`IRON_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#IRON_TOTAL()) [`MAGNESIUM_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#MAGNESIUM_TOTAL()) [`MANGANESE_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#MANGANESE_TOTAL()) [`MOLYBDENUM_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#MOLYBDENUM_TOTAL()) [`MONOUNSATURATED_FAT_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#MONOUNSATURATED_FAT_TOTAL()) [`NIACIN_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#NIACIN_TOTAL()) [`PANTOTHENIC_ACID_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#PANTOTHENIC_ACID_TOTAL()) [`PHOSPHORUS_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#PHOSPHORUS_TOTAL()) [`POLYUNSATURATED_FAT_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#POLYUNSATURATED_FAT_TOTAL()) [`POTASSIUM_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#POTASSIUM_TOTAL()) [`PROTEIN_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#PROTEIN_TOTAL()) [`RIBOFLAVIN_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#RIBOFLAVIN_TOTAL()) [`SATURATED_FAT_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#SATURATED_FAT_TOTAL()) [`SELENIUM_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#SELENIUM_TOTAL()) [`SODIUM_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#SODIUM_TOTAL()) [`SUGAR_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#SUGAR_TOTAL()) [`THIAMIN_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#THIAMIN_TOTAL()) [`TOTAL_CARBOHYDRATE_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#TOTAL_CARBOHYDRATE_TOTAL()) [`TOTAL_FAT_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#TOTAL_FAT_TOTAL()) [`TRANS_FAT_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#TRANS_FAT_TOTAL()) [`UNSATURATED_FAT_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#UNSATURATED_FAT_TOTAL()) [`VITAMIN_A_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#VITAMIN_A_TOTAL()) [`VITAMIN_B12_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#VITAMIN_B12_TOTAL()) [`VITAMIN_B6_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#VITAMIN_B6_TOTAL()) [`VITAMIN_C_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#VITAMIN_C_TOTAL()) [`VITAMIN_D_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#VITAMIN_D_TOTAL()) [`VITAMIN_E_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#VITAMIN_E_TOTAL()) [`VITAMIN_K_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#VITAMIN_K_TOTAL()) [`ZINC_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/NutritionRecord#ZINC_TOTAL()) |
| **Ovulation test** - **Record Type:**Instantaneous - #### Mandatory Fields `metadata` `result` `time` | Cycle Tracking | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/OvulationTestRecord` <br /> `androidx.health.permission.OvulationTest.READ` `androidx.health.permission.OvulationTest.WRITE` <br /> |
| **Oxygen saturation** [Vitals](https://developer.android.com/health-and-fitness/health-connect/experiences/vitals) guide - **Record Type:**Instantaneous - #### Mandatory Fields `metadata` `percentage` `time` | Vitals | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/OxygenSaturationRecord` <br /> `androidx.health.permission.OxygenSaturation.READ` `androidx.health.permission.OxygenSaturation.WRITE` <br /> |
| **Planned exercise** [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts) guide [Training plans](https://developer.android.com/health-and-fitness/health-connect/features/training-plans) guide - **Record Type:**Interval - #### Mandatory Fields `block` `endTime` `exerciseType` `hasExplicitTime` `metadata` | Activity | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/PlannedExerciseSessionRecord` <br /> `androidx.health.permission.PlannedExerciseSession.READ` `androidx.health.permission.PlannedExerciseSession.WRITE` <br /> `FEATURE_PLANNED_EXERCISE` |
| **Power** [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts) guide - **Record Type:**Series - #### Mandatory Fields `endTime` `samples` `metadata` `startTime` | Activity | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/PowerRecord` <br /> `androidx.health.permission.Power.READ` `androidx.health.permission.Power.WRITE` <br /> #### Aggregate data types [`POWER_AVG`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/PowerRecord#POWER_AVG()) [`POWER_MAX`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/PowerRecord#POWER_MAX()) [`POWER_MIN`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/PowerRecord#POWER_MIN()) |
| **Respiratory rate** [Vitals](https://developer.android.com/health-and-fitness/health-connect/experiences/vitals) guide - **Record Type:**Instantaneous - #### Mandatory Fields `metadata` `rate` `time` | Vitals | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/RespiratoryRateRecord` <br /> `androidx.health.permission.RespiratoryRate.READ` `androidx.health.permission.RespiratoryRate.WRITE` <br /> |
| **Resting heart rate** [Vitals](https://developer.android.com/health-and-fitness/health-connect/experiences/vitals) guide - **Record Type:**Instantaneous - #### Mandatory Fields `beatsPerMinute` `metadata` `time` | Vitals | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/RestingHeartRateRecord` <br /> `androidx.health.permission.RestingHeartRate.READ` `androidx.health.permission.RestingHeartRate.WRITE` <br /> #### Aggregate data types [`BPM_AVG`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/RestingHeartRateRecord#BPM_AVG()) [`BPM_MAX`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/RestingHeartRateRecord#BPM_MAX()) [`BPM_MIN`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/RestingHeartRateRecord#BPM_MIN()) |
| **Sexual activity** - **Record Type:**Instantaneous - #### Mandatory Fields `metadata` `protectionUsed` `time` | Cycle Tracking | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/SexualActivityRecord` <br /> `androidx.health.permission.SexualActivity.READ` `androidx.health.permission.SexualActivity.WRITE` <br /> |
| **Skin temperature** [Vitals](https://developer.android.com/health-and-fitness/health-connect/experiences/vitals) guide [Measure skin temperature](https://developer.android.com/health-and-fitness/health-connect/features/skin-temperature) guide - **Record Type:**Series - **Unit:** [Temperature](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Temperature) - #### Mandatory Fields `deltas` `endTime` `measurementLocation` `metadata` `startTime` | Vitals | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/SkinTemperatureRecord` <br /> <br /> `FEATURE_SKIN_TEMPERATURE` #### Aggregate data types [`TEMPERATURE_DELTA_AVG`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/SkinTemperatureRecord#TEMPERATURE_DELTA_AVG()) [`TEMPERATURE_DELTA_MAX`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/SkinTemperatureRecord#TEMPERATURE_DELTA_MAX()) [`TEMPERATURE_DELTA_MIN`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/SkinTemperatureRecord#TEMPERATURE_DELTA_MIN()) |
| **Sleep session** [Sleep](https://developer.android.com/health-and-fitness/health-connect/experiences/sleep) guide [Track sleep sessions](https://developer.android.com/health-and-fitness/health-connect/features/sleep-sessions) guide - **Record Type:**Interval - #### Mandatory Fields `endTime` `metadata` `stages` `startTime` | Sleep | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/SleepSessionRecord` <br /> `androidx.health.permission.SleepSession.READ` `androidx.health.permission.SleepSession.WRITE` <br /> #### Aggregate data types [`SLEEP_DURATION_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/SleepSessionRecord#SLEEP_DURATION_TOTAL()) |
| **Speed** [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts) guide - **Record Type:**Series - #### Mandatory Fields `endTime` `metadata` `samples` `startTime` | Activity | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/SpeedRecord` <br /> `androidx.health.permission.Speed.READ` `androidx.health.permission.Speed.WRITE` <br /> #### Aggregate data types [`SPEED_AVG`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/SpeedRecord#SPEED_AVG()) [`SPEED_MAX`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/SpeedRecord#SPEED_MAX()) [`SPEED_MIN`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/SpeedRecord#SPEED_MIN()) |
| **Steps** [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts) guide [Native tracking](https://developer.android.com/health-and-fitness/health-connect/features/native-tracking) guide [Track steps](https://developer.android.com/health-and-fitness/health-connect/features/steps) guide <br /> **For StepsRecord:** - **Record Type:**Interval - #### Mandatory Fields `count` `endTime` `metadata` `startTime` <br /> **For StepsCadenceRecord:** - **Record Type:**Series - #### Mandatory Fields `endTime` `samples` `metadata` `startTime` | Activity | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/StepsRecord` <br /> `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/StepsCadenceRecord` <br /> `androidx.health.permission.Steps.READ` `androidx.health.permission.Steps.WRITE` <br /> #### Aggregate data types for StepsRecord [`COUNT_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/StepsRecord#COUNT_TOTAL()) <br /> #### Aggregate data types for StepsCadenceRecord [`RATE_AVG`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/StepsCadenceRecord#RATE_AVG()) [`RATE_MAX`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/StepsCadenceRecord#RATE_MAX()) [`RATE_MIN`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/StepsCadenceRecord#RATE_MIN()) |
| **Total calories burned** [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts) guide - **Record Type:**Interval - **Unit:** [Energy](https://developer.android.com/reference/kotlin/androidx/health/connect/client/units/Energy) - #### Mandatory Fields `endTime` `energy` `metadata` `startTime` | Activity | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/TotalCaloriesBurnedRecord` <br /> `androidx.health.permission.TotalCaloriesBurned.READ` `androidx.health.permission.TotalCaloriesBurned.WRITE` <br /> #### Aggregate data types [`ENERGY_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/TotalCaloriesBurnedRecord#ENERGY_TOTAL()) |
| **VO2 max** [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts) guide - **Record Type:**Instantaneous - #### Mandatory Fields `measurementMethod` `metadata` `time` `vo2MillilitersPerMinuteKilogram` | Activity | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/Vo2MaxRecord` <br /> `androidx.health.permission.VO2Max.READ` `androidx.health.permission.VO2Max.WRITE` <br /> |
| **Weight** - **Record Type:**Instantaneous - #### Mandatory Fields `metadata` `time` `weight` | Body Measurement | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/WeightRecord` <br /> `androidx.health.permission.Weight.READ` `androidx.health.permission.Weight.WRITE` <br /> #### Aggregate data types [`WEIGHT_AVG`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/WeightRecord#WEIGHT_AVG()) [`WEIGHT_MAX`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/WeightRecord#WEIGHT_MAX()) [`WEIGHT_MIN`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/WeightRecord#WEIGHT_MIN()) |
| **Wheelchair pushes** [Workouts](https://developer.android.com/health-and-fitness/health-connect/experiences/workouts) guide - **Record Type:**Interval - #### Mandatory Fields `count` `endTime` `metadata` `startTime` | Activity | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/WheelchairPushesRecord` <br /> `androidx.health.permission.WheelchairPushes.READ` `androidx.health.permission.WheelchairPushes.WRITE` <br /> #### Aggregate data types [`COUNT_TOTAL`](https://developer.android.com/reference/kotlin/androidx/health/connect/client/records/WheelchairPushesRecord#COUNT_TOTAL()) |
[*Table: Health Connect data types*]

<br />