The following table contains the full list of data types, with several columns
to help you understand the representation of each type in the Google Health API,
as well as the scope each is available under.

<br />

> [!NOTE]
> **Note:** Fitbit Ace devices are not supported by the Health API. For more information, see [Fitbit Privacy Policy for Children's Accounts](https://support.google.com/product-documentation/answer/14874452).

<br />

## Data type fields

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

| Field | Description |
|---|---|
| `dataType` | The identifier separated by hyphens (for example, `active-minutes`) used in endpoint URLs. |
| `filter` parameter | The identifier separated by underscores (for example, `active_minutes`) used as the value for the `dataType` filter parameter in daily rollup and rollup requests. |
| **Record type** | Indicates the structure and format of the recorded data. Under the hood, this aligns with the resource representation of the data points. The possible values are: - `Interval` (Represents measurements recorded over a duration.) - `Sample` (Represents instantaneous measurements.) - `Daily` (Represents measurements aggregated or recorded on a daily basis.) - `Session` (Represents a continuous block of recording, such as a workout or an electrocardiogram (ECG) session.) - `Food` (Represents a food item or nutrition-related data entity.) |
| **Available operations** | Lists the API methods supported for the data type (such as `list`, `create`, and `rollUp`). |
| **Scope** | The required OAuth scope(s) to access the data type. |
| **Webhook support** | Indicates that the data type supports notifications using webhooks when new data is synced. |
| **True zeros support** | Indicates that the data type supports recording explicit zero values to differentiate between an active zero value (such as zero active minutes) versus missing or unrecorded data. |
| **Storage resolution** | The minimum recording or sampling interval at which data points are stored (for example, 1 minute for `steps`). For rollups, this represents the minimum recommended `windowSize` to ensure evenly distributed aggregation without sub-interval data artifacts. |
| **Compatible devices** | An expandable list of physical devices that can record and sync this data type to the Google Health API (using the Fitbit app). |
[*Table: Google Health API data type fields descriptions*]

<br />

| Data type | Available operations | Scope |
|---|---|---|
| **[Active Energy Burned](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#activeenergyburned)** **dataType:** `active-energy-burned` **filter parameter:** `active_energy_burned` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) **Storage resolution:**1 minute [Calories and energy guide](https://developers.google.com/health/data-types/calories.md.txt) | list, reconcile, rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Active Minutes](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#activeminutes)** **dataType:** `active-minutes` **filter parameter:** `active_minutes` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) **Storage resolution:**1 minute [Webhook support](https://developers.google.com/health/webhooks.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Flex 2 - Fitbit Inspire - Fitbit Inspire HR - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) | list, reconcile, rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Active Zone Minutes](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#activezoneminutes)** **dataType:** `active-zone-minutes` **filter parameter:** `active_zone_minutes` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) **Storage resolution:**1 minute [Webhook support](https://developers.google.com/health/webhooks.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Ionic - Fitbit Luxe - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | list, reconcile, rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Activity Level](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#activitylevel)** **dataType:** `activity-level` **filter parameter:** `activity_level` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) [Webhook support](https://developers.google.com/health/webhooks.md.txt) | list, reconcile | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Altitude](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#altitude)** **dataType:** `altitude` **filter parameter:** `altitude` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) **Storage resolution:**1 minute [Webhook support](https://developers.google.com/health/webhooks.md.txt) [True zeros support](https://developers.google.com/health/data-presence-and-true-zeros) | list, reconcile, rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Blood Glucose](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#bloodglucose)** **dataType:** `blood-glucose` **filter parameter:** `blood_glucose` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) [Webhook support](https://developers.google.com/health/webhooks.md.txt) [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) | list, get, reconcile, rollup, dailyRollup | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Body Fat](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#bodyfat)** **dataType:** `body-fat` **filter parameter:** `body_fat` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) [Webhook support](https://developers.google.com/health/webhooks.md.txt) #### Compatible devices - Fitbit Aria - Fitbit Aria 2 - [Fitbit Aria Air](https://store.google.com/product/fitbit_aria_air) | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Calories In Heart Rate Zone](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/rollUp.md.txt#RollupDataPoint.FIELDS.calories_in_heart_rate_zone)** **dataType:** `calories-in-heart-rate-zone` **filter parameter:** `calories_in_heart_rate_zone` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) **Storage resolution:**1 minute [Webhook support](https://developers.google.com/health/webhooks.md.txt) | rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Core Body Temperature](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#corebodytemperature)** **dataType:** `core-body-temperature` **filter parameter:** `core_body_temperature` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) | list, get, reconcile, rollup, dailyRollup | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Daily Heart Rate Variability](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#dailyheartratevariability)** **dataType:** `daily-heart-rate-variability` **filter parameter:** `daily_heart_rate_variability` **Record type:**Daily [Webhook support](https://developers.google.com/health/webhooks.md.txt) [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) [Sleep guide](https://developers.google.com/health/data-types/sleep.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) | list, reconcile | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Daily Heart Rate Zones](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#dailyheartratezones)** **dataType:** `daily-heart-rate-zones` **filter parameter:** `daily_heart_rate_zones` **Record type:**Daily [Webhook support](https://developers.google.com/health/webhooks.md.txt) [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) | list, reconcile | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Daily Oxygen Saturation](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#dailyoxygensaturation)** **dataType:** `daily-oxygen-saturation` **filter parameter:** `daily_oxygen_saturation` **Record type:**Daily [Webhook support](https://developers.google.com/health/webhooks.md.txt) [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) [Sleep guide](https://developers.google.com/health/data-types/sleep.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Ionic - Fitbit Luxe - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) | list, reconcile | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Daily Respiratory Rate](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#dailyrespiratoryrate)** **dataType:** `daily-respiratory-rate` **filter parameter:** `daily_respiratory_rate` **Record type:**Daily [Webhook support](https://developers.google.com/health/webhooks.md.txt) [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) [Sleep guide](https://developers.google.com/health/data-types/sleep.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) | list, reconcile | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Daily Resting Heart Rate](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#dailyrestingheartrate)** **dataType:** `daily-resting-heart-rate` **filter parameter:** `daily_resting_heart_rate` **Record type:**Daily [Webhook support](https://developers.google.com/health/webhooks.md.txt) [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | list, reconcile | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Daily Sleep Temperature Derivations](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#dailysleeptemperaturederivations)** **dataType:** `daily-sleep-temperature-derivations` **filter parameter:** `daily_sleep_temperature_derivations` **Record type:**Daily [Webhook support](https://developers.google.com/health/webhooks.md.txt) [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) [Sleep guide](https://developers.google.com/health/data-types/sleep.md.txt) [Skin Temperature guide](https://developers.google.com/health/data-types/skin-temperature.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) | list, reconcile | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Daily VO2 Max](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#dailyvo2max)** **dataType:** `daily-vo2-max` **filter parameter:** `daily_vo2_max` **Record type:**Daily #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Ionic - Fitbit Luxe - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | list, reconcile | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Distance](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#distance)** **dataType:** `distance` **filter parameter:** `distance` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) **Storage resolution:**1 minute [Webhook support](https://developers.google.com/health/webhooks.md.txt) [True zeros support](https://developers.google.com/health/data-presence-and-true-zeros) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Flex 2 - Fitbit Inspire - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Fitbit MobileTrack - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | list, reconcile, rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Electrocardiogram (ECG)](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#electrocardiogram)** **dataType:** `electrocardiogram` **filter parameter:** `electrocardiogram` **Record type:**Session [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) #### Compatible devices - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) | list | `.ecg.readonly` |
| **[Exercise](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#exercise)** **dataType:** `exercise` **filter parameter:** `exercise` **Record type:**Session [Webhook support](https://developers.google.com/health/webhooks.md.txt) [Workouts guide](https://developers.google.com/health/data-types/workouts.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Flex 2 - Fitbit Inspire - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Fitbit MobileTrack - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | list, get, reconcile, create, update, batchDelete | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Floors](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/rollUp.md.txt#RollupDataPoint.FIELDS.floors)** **dataType:** `floors` **filter parameter:** `floors` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) **Storage resolution:**1 minute [Webhook support](https://developers.google.com/health/webhooks.md.txt) [True zeros support](https://developers.google.com/health/data-presence-and-true-zeros) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Ionic - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) | reconcile, rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Food](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#food)** **dataType:** `food` **filter parameter:** `food` **Record type:**Food [Nutrition guide](https://developers.google.com/health/data-types/nutrition.md.txt) | list, get | `.nutrition.readonly` `.nutrition.writeonly` |
| **[Food Measurement Unit](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#foodmeasurementunit)** **dataType:** `food-measurement-unit` **filter parameter:** `food_measurement_unit` **Record type:**Food [Nutrition guide](https://developers.google.com/health/data-types/nutrition.md.txt) | list, get | `.nutrition.readonly` `.nutrition.writeonly` |
| **[Heart Rate](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#heartrate)** **dataType:** `heart-rate` **filter parameter:** `heart_rate` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) **Storage resolution:**1 second [Webhook support](https://developers.google.com/health/webhooks.md.txt) [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | list, reconcile, rollup, dailyRollup | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Heart Rate Variability](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#heartratevariability)** **dataType:** `heart-rate-variability` **filter parameter:** `heart_rate_variability` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) [Webhook support](https://developers.google.com/health/webhooks.md.txt) [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) [Sleep guide](https://developers.google.com/health/data-types/sleep.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Flex 2 - Fitbit Inspire - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Fitbit MobileTrack - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | list, reconcile | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Height](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#height)** **dataType:** `height` **filter parameter:** `height` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) [Webhook support](https://developers.google.com/health/webhooks.md.txt) | list, get, reconcile, create, update, batchDelete | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Hydration Log](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#hydrationlog)** **dataType:** `hydration-log` **filter parameter:** `hydration_log` **Record type:**Session [Webhook support](https://developers.google.com/health/webhooks.md.txt) | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | `.nutrition.readonly` `.nutrition.writeonly` |
| **[Irregular Rhythm Notification](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#irregularrhythmnotification)** **dataType:** `irregular-rhythm-notification` **filter parameter:** `irregular_rhythm_notification` **Record type:**Session [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Luxe - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | list | `.irn.readonly` |
| **[Menstrual Period](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#menstrualperiod)** **dataType:** `menstrual-period` **filter parameter:** `menstrual_period` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) [Women's Health guide](https://developers.google.com/health/data-types/womens-health.md.txt) | create, update, batchDelete | `.reproductive_health.writeonly` |
| **[Moods](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#moods)** **dataType:** `moods` **filter parameter:** `moods` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) [Women's Health guide](https://developers.google.com/health/data-types/womens-health.md.txt) | create, update, batchDelete | `.mindfulness.writeonly` |
| **[Nutrition Log](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#nutritionlog)** **dataType:** `nutrition-log` **filter parameter:** `nutrition_log` **Record type:**Session [Webhook support](https://developers.google.com/health/webhooks.md.txt) [Nutrition guide](https://developers.google.com/health/data-types/nutrition.md.txt) | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | `.nutrition.readonly` `.nutrition.writeonly` |
| **[Ovulation Test](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ovulationtest)** **dataType:** `ovulation-test` **filter parameter:** `ovulation_test` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) [Women's Health guide](https://developers.google.com/health/data-types/womens-health.md.txt) | create, update, batchDelete | `.reproductive_health.writeonly` |
| **[Oxygen Saturation](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#oxygensaturation)** **dataType:** `oxygen-saturation` **filter parameter:** `oxygen_saturation` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) **Storage resolution:**1 minute [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) [Sleep guide](https://developers.google.com/health/data-types/sleep.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Ionic - Fitbit Luxe - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) | list, reconcile | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Respiratory Rate Sleep Summary](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#respiratoryratesleepsummary)** **dataType:** `respiratory-rate-sleep-summary` **filter parameter:** `respiratory_rate_sleep_summary` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) [Webhook support](https://developers.google.com/health/webhooks.md.txt) [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) [Sleep guide](https://developers.google.com/health/data-types/sleep.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) | list, reconcile | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Run VO2 Max](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#runvo2max)** **dataType:** `run-vo2-max` **filter parameter:** `run_vo2_max` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) [Webhook support](https://developers.google.com/health/webhooks.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Ionic - Fitbit Luxe - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | list, reconcile, rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Sedentary Period](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#sedentaryperiod)** **dataType:** `sedentary-period` **filter parameter:** `sedentary_period` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) [Webhook support](https://developers.google.com/health/webhooks.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Flex 2 - Fitbit Inspire - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Fitbit MobileTrack - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | list, reconcile, rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Skin Temperature Sensors](https://developers.google.com/health/reference/rest/v4beta/users.dataTypes.dataPoints.md.txt#skintemperaturesensors)** v4beta **dataType:** `skin-temperature-sensors` **filter parameter:** `skin_temperature_sensors` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4beta/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) [Skin Temperature guide](https://developers.google.com/health/data-types/skin-temperature.md.txt) [Women's Health guide](https://developers.google.com/health/data-types/womens-health.md.txt) #### Compatible devices - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - [Pixel Watch 5](https://store.google.com/product/pixel_watch_5) | list | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
| **[Sleep](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#sleep)** **dataType:** `sleep` **filter parameter:** `sleep` **Record type:**Session [Webhook support](https://developers.google.com/health/webhooks.md.txt) [Sleep guide](https://developers.google.com/health/data-types/sleep.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Flex 2 - Fitbit Inspire - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | list, get, reconcile, create, update, batchDelete | `.sleep.readonly` `.sleep.writeonly` |
| **[Steps](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#steps)** **dataType:** `steps` **filter parameter:** `steps` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) **Storage resolution:**1 minute [Webhook support](https://developers.google.com/health/webhooks.md.txt) [True zeros support](https://developers.google.com/health/data-presence-and-true-zeros) [Steps guide](https://developers.google.com/health/data-types/steps.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Flex 2 - Fitbit Inspire - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Fitbit MobileTrack - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | list, reconcile, rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Swim Lengths Data](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#swimlengthsdata)** **dataType:** `swim-lengths-data` **filter parameter:** `swim_lengths_data` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Flex 2 - Fitbit Inspire - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | list, reconcile, rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Symptoms](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#symptoms)** **dataType:** `symptoms` **filter parameter:** `symptoms` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) [Women's Health guide](https://developers.google.com/health/data-types/womens-health.md.txt) | create, update, batchDelete | `.logged_symptoms.writeonly` |
| **[Time in Heart Rate Zone](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#timeinheartratezone)** **dataType:** `time-in-heart-rate-zone` **filter parameter:** `time_in_heart_rate_zone` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) **Storage resolution:**1 minute [Webhook support](https://developers.google.com/health/webhooks.md.txt) | list, reconcile, rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Total Calories](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/rollUp.md.txt#RollupDataPoint.FIELDS.total_calories)** **dataType:** `total-calories` **filter parameter:** `total_calories` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) **Storage resolution:**1 minute [True zeros support](https://developers.google.com/health/data-presence-and-true-zeros) [Calories and energy guide](https://developers.google.com/health/data-types/calories.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Flex 2 - Fitbit Inspire - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Fitbit MobileTrack - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[VO2 Max](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#vo2max)** **dataType:** `vo2-max` **filter parameter:** `vo2_max` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Ionic - Fitbit Luxe - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | list, reconcile | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Weight](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#weight)** **dataType:** `weight` **filter parameter:** `weight` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) [Webhook support](https://developers.google.com/health/webhooks.md.txt) #### Compatible devices - Fitbit Aria - Fitbit Aria 2 - [Fitbit Aria Air](https://store.google.com/product/fitbit_aria_air) | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
[*Table: Google Health API data types*]

<br />

## Query constraints

When querying data points, rollups, or daily rollups from the API, keep the
following constraints in mind:

- **Filter requirements:** Some read-only derived data types, such as `total-calories`, require a filter specifying an interval start time (using physical or civil time).
- **Query range limits:** Rollup and daily rollup aggregation endpoints enforce maximum query range limits based on the data type:
  - A maximum query range of 14 days for `calories-in-heart-rate-zone`, `heart-rate`, `active-minutes`, and `total-calories`.
  - A maximum query range of 90 days for all other data types.
- **Rollup window size:** When calling the `rollUp` endpoint, the `windowSize` duration must be at least 1 second (`"1s"`). Sub-second durations are rejected with `INVALID_ARGUMENT`. In addition, choose a `windowSize` equal to or larger than the data type's underlying storage resolution (such as `"60s"` for 1-minute interval data types like `steps` and `distance`) to avoid uneven distribution across sub-intervals. For details, see [Rollup window and storage
  resolution](https://developers.google.com/health/aggregate-data#rollup-window-storage-resolution).

### Daily versus Interval data types

For certain physiological metrics, such as Heart Rate Variability (HRV) or
Oxygen Saturation (SpO2), the Google Health API provides two distinct data
types: a **Daily** version and an **Interval** version. Understanding the
difference is key to choosing the right metric for your use case:

- Daily: A single, pre-aggregated summary for the entire day. Use this
  for high-level trends and daily dashboards to save on processing.

- Interval: Granular, high-resolution measurements taken throughout the
  day. Use this for charting intraday fluctuations or performing deep,
  hour-by-hour analysis.

## Data availability

Updates to the user's data is only available after they sync their activity
tracker or manually enter new data into the Google Health app.
The Fitbit device and Google Health app can automatically sync every
15 minutes when the Google Health app is open on the mobile device and the two
have an active data connection and are within Bluetooth range. If the user is
tracking activity using MobileTrack, MobileTrack syncs every hour as
long as the app is open.

### Querying historical data

One of the core benefits of the Google Health API is the ability to track a
user's performance and monitor their health vitals over long periods of time.
You can query a user's data as far back as it has been recorded; the API imposes
no limitations or restrictions on the amount of historical data your application
can consume.

However, querying historical data is still governed by standard
[rate limits](https://developers.google.com/health/rate-limits.md.txt). To manage system stability and
prevent excessive payloads, the Google Health API uses automatic pagination with
endpoint-specific page sizes. Note the following boundaries and behavior:

- **Automatic pagination:** If you query a long span of data, the API will only return the first page of results up to the page size cap for that endpoint, along with a `nextPageToken`. You must use the `nextPageToken` to request subsequent pages.
- **Variable page sizes:** Capping limits depend on the endpoint and data type. For most data types, page sizes are capped at a maximum of 10,000. However, for certain data types like `exercise` and `sleep`, the default and maximum page size is capped at 25. For example, if a client requests all sleep data for the past 10 years, the API will still return only 25 sleep sessions on the first page.
- **Rollup date range restrictions:** For data rollup and aggregation endpoints (such as `rollUp` and `dailyRollUp`), query date ranges are restricted based on the data type:
  - A maximum range of 14 days for `calories-in-heart-rate-zone`, `heart-rate`, `active-minutes`, and `total-calories`.
  - A maximum range of 90 days for all other rollup data types.

Depending on the volume of historical data your application needs, retrieving
the entire dataset will require paginating through the pages sequentially.
Keep this in mind when designing your application's data synchronization process.

To ensure optimal performance and avoid API errors, follow these guidelines when
querying historical data:

#### Phased data sync (hot versus cold load)

- **Initial "hot" load:** Fetch and render only the most recent 7--14 days of data during the primary load sequence. This ensures that users see data immediately without waiting for long-running queries.
- **Background "cold" load:** Delegate older historical data retrieval to an asynchronous, lower-priority queue or background process after the primary UI is rendered.

#### Query chunking for aggregation

- Because rollup and daily rollup endpoints enforce a maximum date range limit (14 or 90 days depending on the data type), you must break down large historical aggregation queries into smaller, sequential intervals within these limits.
- Batch or sequence these sub-queries safely to respect concurrency limits and maintain steady UI progress indicators.

#### Leverage pre-aggregated roll-ups

Restructure overview dashboards and trend charts to use pre-aggregated,
summary endpoints (such as `DailyRollUpDataPoints`). This will
drastically reduce compute overhead on the backend and network transfer time to
the client.

#### Resilient error handling (smart retries)

- Implement strict exponential backoff handling when encountering rate limits (`429 Too Many Requests`) and server gateway timeouts (`504 Gateway Timeout`). Never retry large, failed payloads immediately. Instant retries multiply backend congestion and compound system degradation.

> [!WARNING]
> **Warning:** Not following these guidelines can introduce
> unexpected behavior and errors.

### Third-party access

Fitbit devices can't communicate directly with third-party applications or
services. These devices are designed to communicate and synchronize exclusively
with the Google Health app.

The device syncs data automatically throughout the day, whenever the Google
Health app is open, or every 15 minutes if Bluetooth is active and the app is
running in the background. Once this synchronization process is complete, the
data is then available for third-party services through the Google Health API.

### Data quality and validity filtering

To provide dependable health metrics without requiring custom client-side noise
filtering, the Google Health API validates sensor telemetry and excludes invalid
measurements before returning responses:

- For minute-level blood oxygen saturation (`oxygen-saturation`), the API returns only validated readings and removes minutes marked invalid due to arm movement, a loose wrist fit, or a sensor confidence score under 50%, as well as the 3 minutes before and after an invalid reading and isolated valid stretches shorter than 4 minutes. As a result, minute-level coverage can be sparse and gaps are expected. For details, see [Minute-level SpO2 filtering
  and data validity](https://developers.google.com/health/data-types/vitals#spo2-filtering).

## Distance standards

Exercise distances, such as `elevationGainMillimeters`, are measured in
millimeters as the standard unit for the following reasons:

1. **Maintaining Data Precision**: The most important reason for using millimeters is to ensure we don't lose any precision in the data we read and provide. Using a fine-grained unit like millimeters allows us to represent measurements with high accuracy.
2. **Standardization**: Millimeters are the designed standardized unit across our services. This consistency helps ensure a uniform experience for developers interacting with different parts of the API.
3. **Broad Measurement System Support**: Using a base unit like millimeters makes it straightforward for developers to convert to any other chosen unit, regardless of whether they are working with metric, imperial, or other measurement systems.

## Variable day lengths

Time handling by the Health API prioritize the user's time to account for
variable day lengths caused by Daylight Savings Time or travel. Every data
point is stored with both a physical UTC timestamp and the UTC offset active at
the time of the event. This allows the system to:

- Map the event to a precise physical instant.
- Correct the time to the user's local context for aggregation.

### Daylight Savings Time

When Daylight Savings Time happens, a "fall back" results in a 25-hour civil
day, and the rollup for that date will contain 25 hours of data. A "spring
forward" results in a 23-hour civil day where the time moves back to Standard
Time.

### Travel

Travel across time zones can cause even more significant variations in the
physical duration of a single civil day.

Use the `dailyRollUp` endpoint to reconcile time zone differences. It
automatically attributes data to the calendar day on which it was recorded
according to the user's local time, effectively "stitching" the day together
despite time zone shifts. For details and examples, see
[Aggregate across calendar days](https://developers.google.com/health/aggregate-data.md.txt#aggregate-by-day) in
the Aggregate data guide.