Google Fit has health data types for measurements related to managing
general health (as opposed to fitness).

## Data types list

You can learn more about the health data types, and their fields, from the
[Android reference documentation](https://developers.google.com/android/reference/com/google/android/gms/fitness/data/HealthDataTypes). Fields with the unit `enum` have a
list of accepted values to choose from. Only use one of the allowed values to
successfully read and write data.

### Blood glucose

This data type captures the concentration of glucose in the blood. Each data
point represents a single instantaneous blood glucose reading. Learn more about
[writing blood glucose data](https://developers.google.com/fit/scenarios/write-blood-glucose-data).

### REST

|---|---|
| **Name** | `com.google.blood_glucose` |
| **OAuth permission scopes** | https://www.googleapis.com/auth/fitness.blood_glucose.read https://www.googleapis.com/auth/fitness.blood_glucose.write |
| **Fields (format---units)** | |---| | **blood glucose level** (`float`---mmol/L) The blood glucose level or concentration in mmol/L where 1 mmol/L is 18 mg/dL. | | **temporal relation to meal** (`int`---enum) (optional field) When the reading was taken compared to when the user ate. Accepted values <br /> ```restructuredtext "intVal": 1 // Reading wasn't taken before or after a meal "intVal": 2 // Reading was taken during a fasting period "intVal": 3 // Reading was taken before a meal "intVal": 4 // Reading was taken after a meal ``` | | **meal type** (`int`---enum) (optional field) What type of meal the user ate around when the reading was taken. Accepted values ```restructuredtext "intVal": 1 // Unknown "intVal": 2 // Breakfast "intVal": 3 // Lunch "intVal": 4 // Dinner "intVal": 5 // Snack ``` | | **temporal relation to sleep** (`int`---enum) (optional field) When the reading was taken compared to when the user slept. Accepted values ```restructuredtext "intVal": 1 // User was fully awake "intVal": 2 // Before the user fell asleep "intVal": 3 // After the user woke up "intVal": 4 // While the user was still sleeping ``` | | **specimen source** (`int`---enum) (optional field) Type of body fluid used to measure the blood glucose. Accepted values ```restructuredtext "intVal": 1 // Interstitial fluid "intVal": 2 // Capillary blood "intVal": 3 // Plasma "intVal": 4 // Serum "intVal": 5 // Tears "intVal": 6 // Whole blood ``` | |

<br />

### Android

|---|---|
| **Name** | `com.google.blood_glucose` |
| **Data type object** | TYPE_BLOOD_GLUCOSE |
| **Fields (format---units)** | |---| | **FIELD_BLOOD_GLUCOSE_LEVEL** (`float`---mmol/L) The blood glucose level or concentration in mmol/L where 1 mmol/L is 18 mg/dL. | | **FIELD_TEMPORAL_RELATION_TO_MEAL** (`int`---enum) (optional field) When the reading was taken compared to when the user ate. Accepted values <br /> ``` FIELD_TEMPORAL_RELATION_TO_MEAL_GENERAL // Reading wasn't taken before or after a meal FIELD_TEMPORAL_RELATION_TO_MEAL_FASTING // Reading was taken during a fasting period FIELD_TEMPORAL_RELATION_TO_MEAL_BEFORE_MEAL // Reading was taken before a meal FIELD_TEMPORAL_RELATION_TO_MEAL_AFTER_MEAL // Reading was taken after a meal ``` | | **FIELD_MEAL_TYPE** (`int`---enum) (optional field) What type of meal the user ate around when the reading was taken. Accepted values ``` MEAL_TYPE_UNKNOWN // Unknown MEAL_TYPE_BREAKFAST // Breakfast MEAL_TYPE_LUNCH // Lunch MEAL_TYPE_DINNER // Dinner MEAL_TYPE_SNACK // Snack ``` | | **FIELD_TEMPORAL_RELATION_TO_SLEEP** (`int`---enum) (optional field) When the reading was taken compared to when the user slept. Accepted values ``` TEMPORAL_RELATION_TO_SLEEP_FULLY_AWAKE // User was fully awake. TEMPORAL_RELATION_TO_SLEEP_BEFORE_SLEEP // Before the user fell asleep. TEMPORAL_RELATION_TO_SLEEP_ON_WAKING // After the user woke up. TEMPORAL_RELATION_TO_SLEEP_DURING_SLEEP // While the user was still sleeping. ``` | | **FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE** (`int`---enum) (optional field) Type of body fluid used to measure the blood glucose. Accepted values ``` BLOOD_GLUCOSE_SPECIMEN_SOURCE_INTERSTITIAL_FLUID // Interstitial fluid BLOOD_GLUCOSE_SPECIMEN_SOURCE_CAPILLARY_BLOOD // Capillary blood BLOOD_GLUCOSE_SPECIMEN_SOURCE_PLASMA // Plasma BLOOD_GLUCOSE_SPECIMEN_SOURCE_SERUM // Serum BLOOD_GLUCOSE_SPECIMEN_SOURCE_TEARS // Tears BLOOD_GLUCOSE_SPECIMEN_SOURCE_WHOLE_BLOOD // Whole blood ``` | |

<br />

### Blood pressure

This data type captures the blood pressure of a user. Each data point represents
a single instantaneous blood pressure reading. Learn more about [writing blood
pressure data](https://developers.google.com/fit/scenarios/write-bp-data).

### REST

|---|---|
| **Name** | `com.google.blood_pressure` |
| **OAuth permission scopes** | https://www.googleapis.com/auth/fitness.blood_pressure.read https://www.googleapis.com/auth/fitness.blood_pressure.write |
| **Fields (format---units)** | |---| | **systolic** (`float`---mmHg) The systolic blood pressure measurement. | | **diastolic** (`float`---mmHg) The diastolic blood pressure measurement. | | **body position** (`int`---enum) (optional field) The user's body position when the measurement was taken. Accepted values <br /> ```restructuredtext "intVal": 1 // Standing up "intVal": 2 // Sitting down "intVal": 3 // Lying down "intVal": 4 // Reclining ``` | | **measurement location** (`int`---enum) (optional field) Which arm and part of the arm the measurement was taken. Accepted values ```restructuredtext "intVal": 1 // Left wrist "intVal": 2 // Right wrist "intVal": 3 // Left upper arm "intVal": 4 // Right upper arm ``` | |

<br />

### Android

|---|---|
| **Name** | `com.google.blood_pressure` |
| **Data type object** | TYPE_BLOOD_PRESSURE |
| **Fields (format---units)** | |---| | **FIELD_BLOOD_PRESSURE_SYSTOLIC** (`float`---mmHg) The systolic blood pressure measurement. | | **FIELD_BLOOD_PRESSURE_DIASTOLIC** (`float`---mmHg) The diastolic blood pressure measurement. | | **FIELD_BODY_POSITION** (`int`---enum) (optional field) The user's body position when the measurement was taken. Accepted values <br /> ``` BODY_POSITION_STANDING // Standing up BODY_POSITION_SITTING // Sitting down BODY_POSITION_LYING_DOWN // Lying down BODY_POSITION_SEMI_RECUMBENT // Reclining ``` | | **FIELD_BLOOD_PRESSURE_MEASUREMENT_LOCATION** (`int`---enum) (optional field) Which arm and part of the arm the measurement was taken. Accepted values ``` BLOOD_PRESSURE_MEASUREMENT_LOCATION_LEFT_WRIST // Left wrist BLOOD_PRESSURE_MEASUREMENT_LOCATION_RIGHT_WRIST // Right wrist BLOOD_PRESSURE_MEASUREMENT_LOCATION_LEFT_UPPER_ARM // Left upper arm BLOOD_PRESSURE_MEASUREMENT_LOCATION_RIGHT_UPPER_ARM // Right upper arm ``` | |
| **Fields (format---units)** |
| **Fields (format---units)** |
| **Fields (format---units)** |

<br />

### Body fat percentage

This data type captures the body fat percentage of a user. Each data point
represents a person's total body fat as a percentage of their total body mass.

### REST

|---|---|
| **Name** | `com.google.body.fat.percentage` |
| **OAuth permission scopes** | https://www.googleapis.com/auth/fitness.body.read https://www.googleapis.com/auth/fitness.body.write |
| **Fields (format---units)** | **percentage** (`float`---percent) Percentage of total body mass that is body fat. **Valid range**: 0---100% |

### Android

|---|---|
| **Name** | `com.google.body.fat.percentage` |
| **Data type object** | `TYPE_BODY_FAT_PERCENTAGE` |
| **Fields (format---units)** | **FIELD_PERCENTAGE** (`float`---percent) Percentage of total body mass that is body fat. **Valid range**: 0---100% |

### Body temperature

This data type captures the body temperature of a user. Each data point
represents a single instantaneous body temperature measurement.

### REST

|---|---|
| **Name** | `com.google.body.temperature` |
| **OAuth permission scopes** | https://www.googleapis.com/auth/fitness.body_temperature.read https://www.googleapis.com/auth/fitness.body_temperature.write |
| **Fields (format---units)** | |---| | **body temperature** (`float`---celsius) Body temperature in degrees celsius. | | **measurement location** (`int`---enum) (optional field) Where on the user's body the temperature measurement was taken from. Accepted values <br /> ```restructuredtext "intVal": 1 // Armpit "intVal": 2 // Finger "intVal": 3 // Forehead "intVal": 4 // Mouth (oral) "intVal": 5 // Rectum "intVal": 6 // Temporal artery "intVal": 7 // Toe "intVal": 8 // Ear (tympanic) "intVal": 9 // Wrist "intVal": 10 // Vagina ``` | |

<br />

### Android

|---|---|
| **Name** | `com.google.body.temperature` |
| **Data type object** | TYPE_BODY_TEMPERATURE |
| **Fields (format---units)** | |---| | **FIELD_BODY_TEMPERATURE** (`float`---celsius) Body temperature in degrees celsius. | | **FIELD_BODY_TEMPERATURE_MEASUREMENT_LOCATION** (`int`---enum) (optional field) Where on the user's body the temperature measurement was taken from. Accepted values <br /> ``` BODY_TEMPERATURE_MEASUREMENT_LOCATION_AXILLARY // Armpit BODY_TEMPERATURE_MEASUREMENT_LOCATION_FINGER // Finger BODY_TEMPERATURE_MEASUREMENT_LOCATION_FOREHEAD // Forehead BODY_TEMPERATURE_MEASUREMENT_LOCATION_ORAL // Mouth (oral) BODY_TEMPERATURE_MEASUREMENT_LOCATION_RECTAL // Rectum BODY_TEMPERATURE_MEASUREMENT_LOCATION_TEMPORAL_ARTERY // Temporal artery BODY_TEMPERATURE_MEASUREMENT_LOCATION_TOE // Toe BODY_TEMPERATURE_MEASUREMENT_LOCATION_TYMPANIC // Ear (tympanic BODY_TEMPERATURE_MEASUREMENT_LOCATION_WRIST // Wrist BODY_TEMPERATURE_MEASUREMENT_LOCATION_VAGINAL // Vagina ``` | |

<br />

### Cervical mucus

This data type captures the description of cervical mucus. Each data point
represents a self-assessed description of cervical mucus for a user. All fields
are optional and can be used to describe the look and feel of cervical mucus,
and the amount.

### REST

|---|---|
| **Name** | `com.google.cervical_mucus` |
| **OAuth permission scopes** | https://www.googleapis.com/auth/fitness.reproductive_health.read https://www.googleapis.com/auth/fitness.reproductive_health.write |
| **Fields (format---units)** | |---| | **cervical mucus texture** (`int`---enum) (optional field) The consistency or texture of the user's cervical mucus. Accepted values <br /> ```restructuredtext "intVal": 1 // Dry, little or no mucus "intVal": 2 // Sticky "intVal": 3 // Creamy "intVal": 4 // Watery "intVal": 5 // Clear and stretchy like egg white ``` | | **cervical mucus amount** (`int`---enum) (optional field) How much cervical mucus the user observes. Accepted values ```restructuredtext "intVal": 1 // Light "intVal": 2 // Medium "intVal": 3 // Heavy ``` | |

<br />

### Android

|---|---|
| **Name** | `com.google.cervical_mucus` |
| **Data type object** | TYPE_CERVICAL_MUCUS |
| **Fields (format---units)** | |---| | **FIELD_CERVICAL_MUCUS_TEXTURE** (`int`---enum) (optional field) The consistency or texture of the user's cervical mucus. Accepted values <br /> ``` CERVICAL_MUCUS_TEXTURE_DRY // Dry, little or no mucus CERVICAL_MUCUS_TEXTURE_STICKY // Sticky CERVICAL_MUCUS_TEXTURE_CREAMY // Creamy CERVICAL_MUCUS_TEXTURE_WATERY // Watery CERVICAL_MUCUS_TEXTURE_EGG_WHITE // Clear and stretchy ``` | | **FIELD_CERVICAL_MUCUS_AMOUNT** (`int`---enum) (optional field) How much cervical mucus the user observes. Accepted values ``` CERVICAL_MUCUS_AMOUNT_LIGHT CERVICAL_MUCUS_AMOUNT_MEDIUM CERVICAL_MUCUS_AMOUNT_HEAVY ``` | |
| **Fields (format---units)** |

<br />

### Cervical position

In this data type, each data point represents a report of the user's cervix. All
fields are optional, and can be used to add descriptions of the position,
dilation and firmness of the cervix.

### REST

|---|---|
| **Name** | `com.google.cervical_position` |
| **OAuth permission scopes** | https://www.googleapis.com/auth/fitness.reproductive_health.read https://www.googleapis.com/auth/fitness.reproductive_health.write |
| **Fields (format---units)** | |---| | **cervical position** (`int`---enum) (optional field) The position of the user's cervix. Accepted values <br /> ```restructuredtext "intVal": 1 // Cervix is low "intVal": 2 // Cervix is in a medium position "intVal": 3 // Cervix is high ``` | | **cervical dilation** (`int`---enum) (optional field) How open or dilated the user's cervix is. Accepted values ```restructuredtext "intVal": 1 // Closed cervix "intVal": 2 // Partially open cervix "intVal": 3 // Fully dilated, open cervix ``` | | **cervical firmness** (`int`---enum) (optional field) How firm user's cervix is. Accepted values ```restructuredtext "intVal": 1 // Cervix is soft "intVal": 2 // Cervix is a little firm "intVal": 3 // Cervix is firm ``` | |

<br />

### Android

|---|---|
| **Name** | `com.google.cervical_position` |
| **Data type object** | TYPE_CERVICAL_POSITION |
| **Fields (format---units)** | |---| | **FIELD_CERVICAL_POSITION** (`int`---enum) (optional field) The position of the user's cervix. Accepted values <br /> ``` CERVICAL_POSITION_LOW CERVICAL_POSITION_MEDIUM CERVICAL_POSITION_HIGH ``` | | **FIELD_CERVICAL_DILATION** (`int`---enum) (optional field) How open or dilated the user's cervix is. Accepted values ``` CERVICAL_DILATION_CLOSED // Closed cervix CERVICAL_DILATION_MEDIUM // Partially open cervix CERVICAL_DILATION_OPEN // Fully dilated, open cervix ``` | | **FIELD_CERVICAL_FIRMNESS** (`int`---enum) (optional field) How firm the user's cervix is. Accepted values ``` CERVICAL_FIRMNESS_SOFT CERVICAL_FIRMNESS_MEDIUM CERVICAL_FIRMNESS_FIRM ``` | |
| **Fields (format---units)** |
| **Fields (format---units)** |

<br />

### Heart rate

This data type captures the user's heart rate in beats per minute. Because each
data point represents an instantaneous measure of heart rate, only the end time
should be set. This will be used as the timestamp for the reading.

### REST

|---|---|
| **Name** | `com.google.heart_rate.bpm` |
| **OAuth permission scopes** | https://www.googleapis.com/auth/fitness.heart_rate.read https://www.googleapis.com/auth/fitness.heart_rate.write |
| **Fields (format---units)** | **bpm** (`float`---bpm) Heart rate in beats per minute. **Valid range**: 0---1000 |

### Android

|---|---|
| **Name** | `com.google.heart_rate.bpm` |
| **Data type object** | `TYPE_HEART_RATE_BPM` |
| **Android permission** | `BODY_SENSORS` to record |
| **Fields (format---units)** | **bpm** (`float`---bpm) Heart rate in beats per minute. **Valid range**: 0---1000 bpm |

### Height

This data type captures that user's height in meters. Because each data point
represents the height of the user at the time of the reading, only the end time
should be set. This will be used as the timestamp for the reading.

### REST

|---|---|
| **Name** | `com.google.height` |
| **OAuth permission scopes** | https://www.googleapis.com/auth/fitness.body.read https://www.googleapis.com/auth/fitness.body.write |
| **Fields (format---units)** | **height** (`float`---meters) Height in meters. **Valid range**: 0---3 meters |

### Android

|---|---|
| **Name** | `com.google.height` |
| **Data type object** | `TYPE_HEIGHT` |
| **Fields (format---units)** | **FIELD_HEIGHT** (`float`---meters) Height in meters. **Valid range**: 0---3 meters |

### Menstruation

This data type captures a description of how heavy a user's menstrual flow was
(spotting, light, medium, or heavy). Each data point represents a description of
how heavy the user's menstrual bleeding was.

### REST

|---|---|
| **Name** | `com.google.menstruation` |
| **OAuth permission scopes** | https://www.googleapis.com/auth/fitness.reproductive_health.read https://www.googleapis.com/auth/fitness.reproductive_health.write |
| **Fields (format---units)** | |---| | **menstrual flow** (`int`---enum) (optional field) How heavy the user's period was. Accepted values <br /> ```restructuredtext "intVal": 1 // Spotting "intVal": 2 // Light "intVal": 3 // Medium "intVal": 4 // Heavy ``` | |

<br />

### Android

|---|---|
| **Name** | `com.google.menstruation` |
| **Data type object** | TYPE_MENSTRUATION |
| **Fields (format---units)** | |---| | **FIELD_MENSTRUAL_FLOW** (`int`---enum) (optional field) How heavy the user's period was. Accepted values <br /> ``` MENSTRUAL_FLOW_SPOTTING // Spotting MENSTRUAL_FLOW_LIGHT // Light MENSTRUAL_FLOW_MEDIUM // Medium MENSTRUAL_FLOW_HEAVY // Heavy ``` | |

<br />

### Ovulation test

In this data type, each data point represents the binary result of an ovulation
test (positive or negative).

### REST

|---|---|
| **Name** | `com.google.ovulation_test` |
| **OAuth permission scopes** | https://www.googleapis.com/auth/fitness.reproductive_health.read https://www.googleapis.com/auth/fitness.reproductive_health.write |
| **Fields (format---units)** | |---| | **ovulation test** (`int`---enum) (optional field) The result of a user's ovulation test, which shows if they're ovulating or not. Accepted values <br /> ```restructuredtext "intVal": 1 // Negative "intVal": 2 // Positive ``` | |

<br />

### Android

|---|---|
| **Name** | `com.google.ovulation_test` |
| **Data type object** | TYPE_OVULATION_TEST |
| **Fields (format---units)** | |---| | **FIELD_OVULATION_TEST_RESULT** (`int`---enum) (optional field) The result of a user's ovulation test, which shows if they're ovulating or not. Accepted values <br /> ``` OVULATION_TEST_RESULT_NEGATIVE OVULATION_TEST_RESULT_POSITIVE ``` | |

<br />

### Oxygen saturation

This data type captures the amount of oxygen circulating in the blood, measured
as a percentage of oxygen-saturated hemoglobin. Each data point represents a
single blood oxygen saturation reading at the time of measurement.

The optional fields also let you add details about any supplemental oxygen if
administered.

### REST

|---|---|
| **Name** | `com.google.oxygen_saturation` |
| **OAuth permission scopes** | https://www.googleapis.com/auth/fitness.oxygen_saturation.read https://www.googleapis.com/auth/fitness.oxygen_saturation.write |
| **Fields (format---units)** | |---| | **oxygen saturation** (`float`---percentage) The blood oxygen saturation reading as a percentage. **Valid range**: 0---100% | | **supplemental oxygen flow rate** (`float`---L/min) The rate additional oxygen is supplied to a user in liters per minute. Set to zero if no supplemental oxygen is provided, and the user is breathing room air only. | | **oxygen therapy administration mode** (`int`---enum) (optional field) How oxygen therapy is administered. Can be absent or `1` if administered by nasal canula. | | **oxygen saturation system** (`int`---enum) (optional field) Where oxygen saturation is measured. Can be absent or `1` if measured in peripheral capillaries. | | **oxygen saturation measurement method** (`int`---enum) (optional field) How oxygen saturation is measured. Can be absent or `1` if measured by pulse oximetry. | |

### Android

|---|---|
| **Name** | `com.google.oxygen_saturation` |
| **Data type object** | TYPE_OXYGEN_SATURATION |
| **Fields (format---units)** | |---| | **FIELD_OXYGEN_SATURATION** (`float`---percentage) The blood oxygen saturation reading as a percentage. | | **FIELD_SUPPLEMENTAL_OXYGEN_FLOW_RATE** (`float`---L/min) The rate additional oxygen is supplied to a user in liters per minute. Zero indicates no supplemental oxygen is provided, and the user is breathing room air only. | | **FIELD_OXYGEN_THERAPY_ADMINISTRATION_MODE** (`int`---enum) (optional field) How oxygen therapy is administered. Can be absent or `1` if administered by nasal canula. | | **FIELD_OXYGEN_SATURATION_SYSTEM** (`int`---enum) (optional field) Where oxygen saturation is measured. Can be absent or `1` if measured in peripheral capillaries. | | **FIELD_OXYGEN_SATURATION_MEASUREMENT_METHOD** (`int`---enum) (optional field) How oxygen saturation is measured. Can be absent or `1` if measured by pulse oximetry. | |

### Sleep

This data type captures the user's length and type of sleep. Each data point
represents a time interval for a stage of sleep.

The start time of the data point represents the start of the sleep stage and
always needs to be included. The timestamp represents the end of the sleep
stage. Time intervals don't need to be continuous but shouldn't overlap.

### REST

|---|---|
| **Name** | `com.google.sleep.segment` |
| **OAuth permission scopes** | https://www.googleapis.com/auth/fitness.sleep.read https://www.googleapis.com/auth/fitness.sleep.write |
| **Fields (format---units)** | **sleep segment type** (`int`---enum) Values representing different sleep stages and types. Accepted values <br /> ```restructuredtext "intVal": 0 // Unspecified or unknown if user is sleeping. "intVal": 1 // Awake; user is awake. "intVal": 2 // Sleeping; generic or non-granular sleep description. "intVal": 3 // Out of bed; user gets out of bed in the middle of a sleep session. "intVal": 4 // Light sleep; user is in a light sleep cycle. "intVal": 5 // Deep sleep; user is in a deep sleep cycle. "intVal": 6 // REM sleep; user is in a REM sleep cyle. ``` |

<br />

### Android

|---|---|
| **Name** | `com.google.sleep.segment` |
| **Data type object** | `TYPE_SLEEP_SEGMENT` |
| **Fields (format---units)** | **FIELD_SLEEP_SEGMENT_TYPE** (`int`---enum) Values representing different sleep stages and types. Accepted values <br /> ``` SLEEP_SEGMENT_TYPE_UNSPECIFIED // Unspecified or unknown if user is sleeping. AWAKE // Awake; user is awake. SLEEP // Sleeping; generic or non-granular sleep description. OUT_OF_BED // Out of bed; user gets out of bed in the middle of a sleep session. SLEEP_LIGHT // Light sleep; user is in a light sleep cycle. SLEEP_DEEP // Deep sleep; user is in a deep sleep cycle. SLEEP_REM // REM sleep; user is in a REM sleep cyle. ``` |

<br />

### Vaginal spotting

This data type captures if a user experiences spotting (bleeding in between their
period). Each data point represents one instance of spotting, so each point
should have a timestamp and the occurrences field should be set to
one.

### REST

|---|---|
| **Name** | `com.google.vaginal_spotting` |
| **OAuth permission scopes** | https://www.googleapis.com/auth/fitness.reproductive_health.read https://www.googleapis.com/auth/fitness.reproductive_health.write |
| **Fields (format---units)** | |---| | **occurrences** (`int`---count) Each instance of spotting. Set this field to `1`. | |

### Android

|---|---|
| **Name** | `com.google.vaginal_spotting` |
| **Data type object** | TYPE_VAGINAL_SPOTTING |
| **Fields (format---units)** | |---| | **FIELD_OCCURRENCES** (`int`---count) Each instance of spotting. Set this field to `1`. | |

### Weight

This data type captures that user's weight in kilograms. Because each data point
represents the weight of the user at the time of the reading, only the end time
should be set. This will be used as the timestamp for the reading.

### REST

|---|---|
| **Name** | `com.google.weight` |
| **OAuth permission scopes** | https://www.googleapis.com/auth/fitness.body.read https://www.googleapis.com/auth/fitness.body.write |
| **Fields (format---units)** | **weight** (`float`---kgs) Body weight in kilograms. **Valid range**: 0---1000 kilograms |

### Android

|---|---|
| **Name** | `com.google.weight` |
| **Data type object** | `TYPE_WEIGHT` |
| **Fields (format---units)** | **FIELD_WEIGHT** (`float`---kgs) Body weight in kilograms. **Valid range**: 0---1000 kilograms |

## Getting permission to read and write health data

> [!NOTE]
> **Note:** Google has temporarily stopped taking new requests to write to health data types. We've updated our [policy](https://developers.google.com/fit/policy) and the [process for reading
> and writing data will change](https://developers.google.com/fit/improvements#strengthening_the_review_system_for_apps_using_google_fit) when policy enforcement starts.

To read health data, follow these steps:

1. Make sure your app complies with [Google's API User Data Policy](https://developers.google.com/terms/api-services-user-data-policy) and the Google Fit Developer and User Data Policy.
2. Apply for your consent screen to be [verified by Google](https://support.google.com/cloud/answer/9110914).

   > [!NOTE]
   > **Note:** If your app isn't verified when it requests access to a sensitive OAuth scope, Google will assess its risk and [apply
   > quotas](https://support.google.com/cloud/answer/9028764) accordingly. Your users might also see [warning screens](https://support.google.com/cloud/answer/7454865). You can still test your app but the quotas will restrict how many new users you can get.

If your app gets verified, it can read health data that users have consented to being read.