{
  "apiVersion": "v1",
  "self": "https://aifitnessapi.com/api/v1/google-health-api/data-types",
  "title": "Google Health API data types",
  "description": "Every data type in Google's Google Health API data-types table, joined to the v4 discovery document: record type, storage resolution, operations and the methods they map to, scopes, fields, rollup fields and the Fitbit Web API predecessor. methods, scopes and dataPointProperty are derived and keep their evidence; flags names the kinds of disagreement between Google's own pages.",
  "source": "https://aifitnessapi.com/google-health-api",
  "verified": {
    "date": "2026-10-17",
    "meaning": "The date the generator read Google's Google Health API data-types table and the v4 discovery document (https://developers.google.com/health/data-types) for every row: the dataset's sourceReadOn."
  },
  "license": "CC-BY-4.0",
  "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
  "attribution": "aifitnessapi.com",
  "citeAs": "AIFitnessAPI, \"Google Health API Data Types 2026,\" version 2026.1, aifitnessapi.com, https://aifitnessapi.com/datasets/google-health-api-data-types-2026.json",
  "dataset": {
    "slug": "google-health-api-data-types-2026",
    "name": "Google Health API Data Types 2026",
    "version": "2026.1",
    "json": "https://aifitnessapi.com/datasets/google-health-api-data-types-2026.json",
    "csv": "https://aifitnessapi.com/datasets/google-health-api-data-types-2026.csv",
    "isBasedOn": "https://developers.google.com/health/data-types"
  },
  "methodology": "Every data type in Google's Google Health API data-types table (https://developers.google.com/health/data-types), read on 2026-10-17, joined to the v4 discovery document (https://health.googleapis.com/$discovery/rest?version=v4, revision 20261014). Name, dataType id, filter parameter, record type, storage resolution, the webhook and true-zeros badges, the v4beta tag, operations, scopes and compatible devices are copied from Google's table; field names and rollup fields from the discovery document's schemas; the Fitbit Web API predecessor from Google's migration mapping table. Three columns are DERIVED and keep their evidence: scopes are the prefix Google's Scopes page states plus the suffix the table prints; methods pair each table operation with the discovery document's method (case-insensitively, and \"update\" with patch only because Google's endpoint-mapping table maps updates to patch); dataPointProperty is the DataPoint field whose description names the type (dataPointEvidence, verbatim) or, where that description names none, the field DataPoint.name's kebab-case rule picks (dataPointMatch says which). flags lists the kinds of disagreement found between Google's own pages for the type; the pages show each one with the texts that disagree.",
  "key": "dataType",
  "itemUrl": "https://aifitnessapi.com/api/v1/google-health-api/data-types/{dataType}",
  "count": 44,
  "excluded": [],
  "fields": {
    "dataType": "The hyphenated id Google uses in endpoint URLs",
    "name": "Google's display name for the data type, as its data-types table prints it",
    "filterParam": "The underscored id Google uses as the dataType filter value",
    "recordType": "Interval, Sample, Daily, Session or Food, as Google's table prints it",
    "storageResolution": "Google's storage resolution; null where the table states none",
    "channel": "v4, or v4beta where Google's table tags the row",
    "webhookSupport": "yes where Google's table shows the Webhook support badge",
    "trueZerosSupport": "yes where Google's table shows the True zeros support badge",
    "operations": "The operations Google's table lists, semicolon-separated",
    "methods": "DERIVED: the users.dataTypes.dataPoints methods those operations map to",
    "scopes": "DERIVED: full scope URLs (Google's documented prefix + the printed suffix)",
    "dataPointProperty": "DERIVED: the DataPoint field for the type; null where neither discovery document has one",
    "dataPointMatch": "How dataPointProperty was matched: description or kebab-case rule",
    "dataPointEvidence": "That field's description in the discovery document, verbatim",
    "schema": "The discovery document schema the DataPoint field refers to",
    "requiredFields": "Fields whose description opens \"Required.\"",
    "fields": "Every field of that schema in the discovery document, semicolon-separated",
    "rollupSchema": "The *RollupValue schema a rollup of the type returns, where the table lists rollup or dailyRollup",
    "rollupFields": "The fields of rollupSchema in the discovery document, semicolon-separated",
    "fitbitPredecessor": "The Fitbit Web API data type Google's mapping table maps to this type; null where it has no row",
    "fitbitDescription": "The description in Google's Fitbit Web API mapping row for the type, verbatim; null where the row has none",
    "compatibleDevices": "The compatible devices Google's table lists for the type, semicolon-separated; null where it lists none",
    "flags": "Kinds of disagreement between Google's own pages for this type",
    "googleDocs": "Google's REST reference anchor for the type",
    "page": "This site's page for the data type"
  },
  "items": [
    {
      "dataType": "active-energy-burned",
      "name": "Active Energy Burned",
      "filterParam": "active_energy_burned",
      "recordType": "Interval",
      "storageResolution": "1 minute",
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "list; reconcile; rollup; dailyRollup",
      "methods": "list; reconcile; rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "activeEnergyBurned",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `active-energy-burned` interval data type collection.",
      "schema": "ActiveEnergyBurned",
      "requiredFields": "interval; kcal",
      "fields": "interval; kcal",
      "rollupSchema": "ActiveEnergyBurnedRollupValue",
      "rollupFields": "kcalSum",
      "fitbitPredecessor": "Activity Calories",
      "fitbitDescription": "Represents the calories burned during active periods, inclusive of BMR for those periods. In the Google Health API, this can be reconstructed by adding BMR to the `active-energy-burned` data type (which tracks activity-only burn, excluding basal rate).",
      "compatibleDevices": null,
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#activeenergyburned",
      "page": "https://aifitnessapi.com/google-health-api/active-energy-burned"
    },
    {
      "dataType": "active-minutes",
      "name": "Active Minutes",
      "filterParam": "active_minutes",
      "recordType": "Interval",
      "storageResolution": "1 minute",
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile; rollup; dailyRollup",
      "methods": "list; reconcile; rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "activeMinutes",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `active-minutes` interval data type collection.",
      "schema": "ActiveMinutes",
      "requiredFields": "activeMinutesByActivityLevel; interval",
      "fields": "activeMinutesByActivityLevel; interval",
      "rollupSchema": "ActiveMinutesRollupValue",
      "rollupFields": "activeMinutesRollupByActivityLevel",
      "fitbitPredecessor": null,
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Alta; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Flex 2; Fitbit Inspire; Fitbit Inspire HR; Pixel Watch 4",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#activeminutes",
      "page": "https://aifitnessapi.com/google-health-api/active-minutes"
    },
    {
      "dataType": "active-zone-minutes",
      "name": "Active Zone Minutes",
      "filterParam": "active_zone_minutes",
      "recordType": "Interval",
      "storageResolution": "1 minute",
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile; rollup; dailyRollup",
      "methods": "list; reconcile; rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "activeZoneMinutes",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `active-zone-minutes` interval data type collection, measured in minutes.",
      "schema": "ActiveZoneMinutes",
      "requiredFields": "activeZoneMinutes; heartRateZone; interval",
      "fields": "activeZoneMinutes; heartRateZone; interval",
      "rollupSchema": "ActiveZoneMinutesRollupValue",
      "rollupFields": "sumInCardioHeartZone; sumInFatBurnHeartZone; sumInPeakHeartZone",
      "fitbitPredecessor": "Active Zone Minutes",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Ionic; Fitbit Luxe; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#activezoneminutes",
      "page": "https://aifitnessapi.com/google-health-api/active-zone-minutes"
    },
    {
      "dataType": "activity-level",
      "name": "Activity Level",
      "filterParam": "activity_level",
      "recordType": "Interval",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile",
      "methods": "list; reconcile",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "activityLevel",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `activity-level` daily data type collection.",
      "schema": "ActivityLevel",
      "requiredFields": "activityLevelType; interval",
      "fields": "activityLevelType; interval",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": "Contains changes to the user's activity levels",
      "fitbitDescription": "Captures the user's activity level (such as sedentary or active) over a specific period of time.",
      "compatibleDevices": null,
      "flags": "rollup-not-in-table",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#activitylevel",
      "page": "https://aifitnessapi.com/google-health-api/activity-level"
    },
    {
      "dataType": "altitude",
      "name": "Altitude",
      "filterParam": "altitude",
      "recordType": "Interval",
      "storageResolution": "1 minute",
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "yes",
      "operations": "list; reconcile; rollup; dailyRollup",
      "methods": "list; reconcile; rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "altitude",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `altitude` interval data type collection.",
      "schema": "Altitude",
      "requiredFields": "gainMillimeters; interval",
      "fields": "gainMillimeters; interval",
      "rollupSchema": "AltitudeRollupValue",
      "rollupFields": "gainMillimetersSum",
      "fitbitPredecessor": "Elevation",
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#altitude",
      "page": "https://aifitnessapi.com/google-health-api/altitude"
    },
    {
      "dataType": "blood-glucose",
      "name": "Blood Glucose",
      "filterParam": "blood_glucose",
      "recordType": "Sample",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; get; reconcile; rollup; dailyRollup",
      "methods": "list; get; reconcile; rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "bloodGlucose",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `blood-glucose` sample data type collection.",
      "schema": "BloodGlucose",
      "requiredFields": "bloodGlucoseMilligramsPerDeciliter; sampleTime",
      "fields": "bloodGlucoseMilligramsPerDeciliter; sampleTime; mealType; measurementSource; measurementTiming; notes; specimen",
      "rollupSchema": "BloodGlucoseRollupValue",
      "rollupFields": "bloodGlucoseMilligramsPerDeciliterAvg",
      "fitbitPredecessor": "Blood Glucose",
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#bloodglucose",
      "page": "https://aifitnessapi.com/google-health-api/blood-glucose"
    },
    {
      "dataType": "body-fat",
      "name": "Body Fat",
      "filterParam": "body_fat",
      "recordType": "Sample",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; get; reconcile; rollup; dailyRollup; create; update; batchDelete",
      "methods": "list; get; reconcile; rollUp; dailyRollUp; create; patch; batchDelete",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "bodyFat",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `body-fat` sample data type collection.",
      "schema": "BodyFat",
      "requiredFields": "percentage; sampleTime",
      "fields": "percentage; sampleTime",
      "rollupSchema": "BodyFatRollupValue",
      "rollupFields": "bodyFatPercentageAvg",
      "fitbitPredecessor": "Body fat",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Aria; Fitbit Aria 2; Fitbit Aria Air",
      "flags": "operation-name-differs",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#bodyfat",
      "page": "https://aifitnessapi.com/google-health-api/body-fat"
    },
    {
      "dataType": "calories-in-heart-rate-zone",
      "name": "Calories In Heart Rate Zone",
      "filterParam": "calories_in_heart_rate_zone",
      "recordType": "Interval",
      "storageResolution": "1 minute",
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "rollup; dailyRollup",
      "methods": "rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": null,
      "dataPointMatch": null,
      "dataPointEvidence": null,
      "schema": null,
      "requiredFields": null,
      "fields": null,
      "rollupSchema": "CaloriesInHeartRateZoneRollupValue",
      "rollupFields": "caloriesInHeartRateZones",
      "fitbitPredecessor": "`caloriesOut` in each heart rate zone",
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": "no-v4-datapoint-property",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/rollUp#RollupDataPoint.FIELDS.calories_in_heart_rate_zone",
      "page": "https://aifitnessapi.com/google-health-api/calories-in-heart-rate-zone"
    },
    {
      "dataType": "core-body-temperature",
      "name": "Core Body Temperature",
      "filterParam": "core_body_temperature",
      "recordType": "Sample",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "list; get; reconcile; rollup; dailyRollup",
      "methods": "list; get; reconcile; rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "coreBodyTemperature",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `core-body-temperature` sample data type collection.",
      "schema": "CoreBodyTemperature",
      "requiredFields": "sampleTime; temperatureCelsius",
      "fields": "sampleTime; temperatureCelsius; id; measurementLocation",
      "rollupSchema": "CoreBodyTemperatureRollupValue",
      "rollupFields": "temperatureCelsiusAvg; temperatureCelsiusMax; temperatureCelsiusMin",
      "fitbitPredecessor": "Temperature (Core)",
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#corebodytemperature",
      "page": "https://aifitnessapi.com/google-health-api/core-body-temperature"
    },
    {
      "dataType": "daily-heart-rate-variability",
      "name": "Daily Heart Rate Variability",
      "filterParam": "daily_heart_rate_variability",
      "recordType": "Daily",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile",
      "methods": "list; reconcile",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "dailyHeartRateVariability",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `daily-heart-rate-variability` daily data type collection.",
      "schema": "DailyHeartRateVariability",
      "requiredFields": "date",
      "fields": "date; averageHeartRateVariabilityMilliseconds; deepSleepRootMeanSquareOfSuccessiveDifferencesMilliseconds; entropy; nonRemHeartRateBeatsPerMinute",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": "HRV summary",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Inspire HR; Fitbit Ionic; Fitbit Luxe; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4",
      "flags": "rollup-not-in-table",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#dailyheartratevariability",
      "page": "https://aifitnessapi.com/google-health-api/daily-heart-rate-variability"
    },
    {
      "dataType": "daily-heart-rate-zones",
      "name": "Daily Heart Rate Zones",
      "filterParam": "daily_heart_rate_zones",
      "recordType": "Daily",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile",
      "methods": "list; reconcile",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "dailyHeartRateZones",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `daily-heart-rate-zones` daily data type collection.",
      "schema": "DailyHeartRateZones",
      "requiredFields": "date; heartRateZones",
      "fields": "date; heartRateZones",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": null,
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#dailyheartratezones",
      "page": "https://aifitnessapi.com/google-health-api/daily-heart-rate-zones"
    },
    {
      "dataType": "daily-oxygen-saturation",
      "name": "Daily Oxygen Saturation",
      "filterParam": "daily_oxygen_saturation",
      "recordType": "Daily",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile",
      "methods": "list; reconcile",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "dailyOxygenSaturation",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `daily-oxygen-saturation` daily data type collection.",
      "schema": "DailyOxygenSaturation",
      "requiredFields": "averagePercentage; date; lowerBoundPercentage; upperBoundPercentage",
      "fields": "averagePercentage; date; lowerBoundPercentage; upperBoundPercentage; standardDeviationPercentage",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": "SpO2 summary",
      "fitbitDescription": "A daily summary of blood oxygen saturation (SpO2) statistics calculated from validated sleep measurements.",
      "compatibleDevices": "Fitbit Air; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Inspire 3; Fitbit Ionic; Fitbit Luxe; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#dailyoxygensaturation",
      "page": "https://aifitnessapi.com/google-health-api/daily-oxygen-saturation"
    },
    {
      "dataType": "daily-respiratory-rate",
      "name": "Daily Respiratory Rate",
      "filterParam": "daily_respiratory_rate",
      "recordType": "Daily",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile",
      "methods": "list; reconcile",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "dailyRespiratoryRate",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `daily-respiratory-rate` daily data type collection.",
      "schema": "DailyRespiratoryRate",
      "requiredFields": "breathsPerMinute; date",
      "fields": "breathsPerMinute; date",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": null,
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Inspire HR; Fitbit Ionic; Fitbit Luxe; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#dailyrespiratoryrate",
      "page": "https://aifitnessapi.com/google-health-api/daily-respiratory-rate"
    },
    {
      "dataType": "daily-resting-heart-rate",
      "name": "Daily Resting Heart Rate",
      "filterParam": "daily_resting_heart_rate",
      "recordType": "Daily",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile",
      "methods": "list; reconcile",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "dailyRestingHeartRate",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `daily-resting-heart-rate` daily data type collection.",
      "schema": "DailyRestingHeartRate",
      "requiredFields": "beatsPerMinute; date",
      "fields": "beatsPerMinute; date; dailyRestingHeartRateMetadata",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": "Resting heart rate",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Inspire HR; Fitbit Ionic; Fitbit Luxe; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": "rollup-not-in-table",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#dailyrestingheartrate",
      "page": "https://aifitnessapi.com/google-health-api/daily-resting-heart-rate"
    },
    {
      "dataType": "daily-sleep-temperature-derivations",
      "name": "Daily Sleep Temperature Derivations",
      "filterParam": "daily_sleep_temperature_derivations",
      "recordType": "Daily",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile",
      "methods": "list; reconcile",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "dailySleepTemperatureDerivations",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `daily-sleep-temperature-derivations` daily data type collection.",
      "schema": "DailySleepTemperatureDerivations",
      "requiredFields": "date; nightlyTemperatureCelsius",
      "fields": "date; nightlyTemperatureCelsius; baselineTemperatureCelsius; relativeNightlyStddev30dCelsius",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": "Skin temperature",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Inspire HR; Fitbit Ionic; Fitbit Luxe; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#dailysleeptemperaturederivations",
      "page": "https://aifitnessapi.com/google-health-api/daily-sleep-temperature-derivations"
    },
    {
      "dataType": "daily-vo2-max",
      "name": "Daily VO2 Max",
      "filterParam": "daily_vo2_max",
      "recordType": "Daily",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "list; reconcile",
      "methods": "list; reconcile",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "dailyVo2Max",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `daily-vo2-max` daily data type collection.",
      "schema": "DailyVO2Max",
      "requiredFields": "date; vo2Max",
      "fields": "date; vo2Max; cardioFitnessLevel; estimated; vo2MaxCovariance",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": null,
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Ionic; Fitbit Luxe; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#dailyvo2max",
      "page": "https://aifitnessapi.com/google-health-api/daily-vo2-max"
    },
    {
      "dataType": "distance",
      "name": "Distance",
      "filterParam": "distance",
      "recordType": "Interval",
      "storageResolution": "1 minute",
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "yes",
      "operations": "list; reconcile; rollup; dailyRollup",
      "methods": "list; reconcile; rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "distance",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `distance` interval data type collection.",
      "schema": "Distance",
      "requiredFields": "interval; millimeters",
      "fields": "interval; millimeters",
      "rollupSchema": "DistanceRollupValue",
      "rollupFields": "millimetersSum",
      "fitbitPredecessor": "Distance",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Alta; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Flex 2; Fitbit Inspire; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Inspire HR; Fitbit Ionic; Fitbit Luxe; Fitbit MobileTrack; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#distance",
      "page": "https://aifitnessapi.com/google-health-api/distance"
    },
    {
      "dataType": "electrocardiogram",
      "name": "Electrocardiogram (ECG)",
      "filterParam": "electrocardiogram",
      "recordType": "Session",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "list",
      "methods": "list",
      "scopes": "https://www.googleapis.com/auth/googlehealth.ecg.readonly",
      "dataPointProperty": "electrocardiogram",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `electrocardiogram` session data type collection.",
      "schema": "Electrocardiogram",
      "requiredFields": "interval",
      "fields": "interval; beatsPerMinuteAvg; leadNumber; medicalDeviceInfo; millivoltsScalingFactor; resultClassification; samplingFrequencyHertz; waveformSamples",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": "Electrocardiogram (ECG)",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Charge 5; Fitbit Charge 6; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#electrocardiogram",
      "page": "https://aifitnessapi.com/google-health-api/electrocardiogram"
    },
    {
      "dataType": "exercise",
      "name": "Exercise",
      "filterParam": "exercise",
      "recordType": "Session",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; get; reconcile; create; update; batchDelete",
      "methods": "list; get; reconcile; create; patch; batchDelete",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "exercise",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `exercise` session data type collection.",
      "schema": "Exercise",
      "requiredFields": "displayName; exerciseType; interval; metricsSummary",
      "fields": "displayName; exerciseType; interval; metricsSummary; activeDuration; createTime; exerciseEvents; exerciseMetadata; notes; splits; splitSummaries; updateTime",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": "Recorded activity",
      "fitbitDescription": "Recorded workouts or exercise sessions, which include start/end times, activity types, and session metrics.",
      "compatibleDevices": "Fitbit Air; Fitbit Alta; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Flex 2; Fitbit Inspire; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Inspire HR; Fitbit Ionic; Fitbit Luxe; Fitbit MobileTrack; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": "operation-name-differs; method-not-in-table",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#exercise",
      "page": "https://aifitnessapi.com/google-health-api/exercise"
    },
    {
      "dataType": "floors",
      "name": "Floors",
      "filterParam": "floors",
      "recordType": "Interval",
      "storageResolution": "1 minute",
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "yes",
      "operations": "reconcile; rollup; dailyRollup",
      "methods": "reconcile; rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "floors",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `floors` interval data type collection.",
      "schema": "Floors",
      "requiredFields": "count; interval",
      "fields": "count; interval",
      "rollupSchema": "FloorsRollupValue",
      "rollupFields": "countSum",
      "fitbitPredecessor": "Floors",
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": "reference-anchor-differs",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/rollUp#RollupDataPoint.FIELDS.floors",
      "page": "https://aifitnessapi.com/google-health-api/floors"
    },
    {
      "dataType": "food",
      "name": "Food",
      "filterParam": "food",
      "recordType": "Food",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "list; get",
      "methods": "list; get",
      "scopes": "https://www.googleapis.com/auth/googlehealth.nutrition.readonly; https://www.googleapis.com/auth/googlehealth.nutrition.writeonly",
      "dataPointProperty": "food",
      "dataPointMatch": "kebab-case rule",
      "dataPointEvidence": "Optional. The food details.",
      "schema": "Food",
      "requiredFields": "accessLevel; defaultServing; displayName",
      "fields": "accessLevel; defaultServing; displayName; brand; description; energyAvg; energyFromFat; energyMax; energyMin; languageCode; mealType; nutrients; servings; totalCarbohydrate; totalFat",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": "Food",
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": "scope-not-in-discovery",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#food",
      "page": "https://aifitnessapi.com/google-health-api/food"
    },
    {
      "dataType": "food-measurement-unit",
      "name": "Food Measurement Unit",
      "filterParam": "food_measurement_unit",
      "recordType": "Food",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "list; get",
      "methods": "list; get",
      "scopes": "https://www.googleapis.com/auth/googlehealth.nutrition.readonly; https://www.googleapis.com/auth/googlehealth.nutrition.writeonly",
      "dataPointProperty": "foodMeasurementUnit",
      "dataPointMatch": "kebab-case rule",
      "dataPointEvidence": "Optional. The food measurement unit details.",
      "schema": "FoodMeasurementUnit",
      "requiredFields": "displayName",
      "fields": "displayName; pluralDisplayName",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": "Food Measurement Unit",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Ionic; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4",
      "flags": "scope-not-in-discovery",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#foodmeasurementunit",
      "page": "https://aifitnessapi.com/google-health-api/food-measurement-unit"
    },
    {
      "dataType": "heart-rate",
      "name": "Heart Rate",
      "filterParam": "heart_rate",
      "recordType": "Sample",
      "storageResolution": "1 second",
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile; rollup; dailyRollup",
      "methods": "list; reconcile; rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "heartRate",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `heart-rate` sample data type collection.",
      "schema": "HeartRate",
      "requiredFields": "beatsPerMinute; sampleTime",
      "fields": "beatsPerMinute; sampleTime; metadata",
      "rollupSchema": "HeartRateRollupValue",
      "rollupFields": "beatsPerMinuteAvg; beatsPerMinuteMax; beatsPerMinuteMin",
      "fitbitPredecessor": "Heart Rate",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Inspire HR; Fitbit Ionic; Fitbit Luxe; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#heartrate",
      "page": "https://aifitnessapi.com/google-health-api/heart-rate"
    },
    {
      "dataType": "heart-rate-variability",
      "name": "Heart Rate Variability",
      "filterParam": "heart_rate_variability",
      "recordType": "Sample",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile",
      "methods": "list; reconcile",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "heartRateVariability",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `heart-rate-variability` sample data type collection.",
      "schema": "HeartRateVariability",
      "requiredFields": "sampleTime",
      "fields": "sampleTime; metadata; rootMeanSquareOfSuccessiveDifferencesMilliseconds; standardDeviationMilliseconds",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": "HRV Intraday",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Alta; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Flex 2; Fitbit Inspire; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Inspire HR; Fitbit Ionic; Fitbit Luxe; Fitbit MobileTrack; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#heartratevariability",
      "page": "https://aifitnessapi.com/google-health-api/heart-rate-variability"
    },
    {
      "dataType": "height",
      "name": "Height",
      "filterParam": "height",
      "recordType": "Sample",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; get; reconcile; create; update; batchDelete",
      "methods": "list; get; reconcile; create; patch; batchDelete",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "height",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `height` sample data type collection.",
      "schema": "Height",
      "requiredFields": "heightMillimeters; sampleTime",
      "fields": "heightMillimeters; sampleTime",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": null,
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": "operation-name-differs",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#height",
      "page": "https://aifitnessapi.com/google-health-api/height"
    },
    {
      "dataType": "hydration-log",
      "name": "Hydration Log",
      "filterParam": "hydration_log",
      "recordType": "Session",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; get; reconcile; rollup; dailyRollup; create; update; batchDelete",
      "methods": "list; get; reconcile; rollUp; dailyRollUp; create; patch; batchDelete",
      "scopes": "https://www.googleapis.com/auth/googlehealth.nutrition.readonly; https://www.googleapis.com/auth/googlehealth.nutrition.writeonly",
      "dataPointProperty": "hydrationLog",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `hydration-log` session data type collection.",
      "schema": "HydrationLog",
      "requiredFields": "amountConsumed; interval",
      "fields": "amountConsumed; interval",
      "rollupSchema": "HydrationLogRollupValue",
      "rollupFields": "amountConsumed",
      "fitbitPredecessor": null,
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": "operation-name-differs; scope-not-in-discovery",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#hydrationlog",
      "page": "https://aifitnessapi.com/google-health-api/hydration-log"
    },
    {
      "dataType": "irregular-rhythm-notification",
      "name": "Irregular Rhythm Notification",
      "filterParam": "irregular_rhythm_notification",
      "recordType": "Session",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "list",
      "methods": "list",
      "scopes": "https://www.googleapis.com/auth/googlehealth.irn.readonly",
      "dataPointProperty": "irregularRhythmNotification",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `irregular-rhythm-notification` session data type collection.",
      "schema": "IrregularRhythmNotification",
      "requiredFields": "interval",
      "fields": "interval; alertWindows; medicalDeviceInfo",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": "Irregular Rhythm Notifications (IRN)",
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#irregularrhythmnotification",
      "page": "https://aifitnessapi.com/google-health-api/irregular-rhythm-notification"
    },
    {
      "dataType": "menstrual-period",
      "name": "Menstrual Period",
      "filterParam": "menstrual_period",
      "recordType": "Interval",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "create; update; batchDelete",
      "methods": "create; patch; batchDelete",
      "scopes": "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly",
      "dataPointProperty": "menstrualPeriod",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `menstrual-period` interval data type collection.",
      "schema": "MenstrualPeriod",
      "requiredFields": "interval",
      "fields": "interval; notes",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": null,
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": "operation-name-differs",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#menstrualperiod",
      "page": "https://aifitnessapi.com/google-health-api/menstrual-period"
    },
    {
      "dataType": "moods",
      "name": "Moods",
      "filterParam": "moods",
      "recordType": "Sample",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "create; update; batchDelete",
      "methods": "create; patch; batchDelete",
      "scopes": "https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly",
      "dataPointProperty": "moods",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `moods` sample data type collection.",
      "schema": "Moods",
      "requiredFields": "moods; sampleTime",
      "fields": "moods; sampleTime; valences",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": null,
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": "operation-name-differs",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#moods",
      "page": "https://aifitnessapi.com/google-health-api/moods"
    },
    {
      "dataType": "nutrition-log",
      "name": "Nutrition Log",
      "filterParam": "nutrition_log",
      "recordType": "Session",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; get; reconcile; rollup; dailyRollup; create; update; batchDelete",
      "methods": "list; get; reconcile; rollUp; dailyRollUp; create; patch; batchDelete",
      "scopes": "https://www.googleapis.com/auth/googlehealth.nutrition.readonly; https://www.googleapis.com/auth/googlehealth.nutrition.writeonly",
      "dataPointProperty": "nutritionLog",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `nutrition-log` session data type collection.",
      "schema": "NutritionLog",
      "requiredFields": "interval",
      "fields": "interval; energy; energyFromFat; food; foodDisplayName; mealType; nutrients; serving; totalCarbohydrate; totalFat",
      "rollupSchema": "NutritionLogRollupValue",
      "rollupFields": "energy; energyFromFat; nutrients; totalCarbohydrate; totalFat",
      "fitbitPredecessor": "Food Log",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Luxe; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": "operation-name-differs; scope-not-in-discovery",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#nutritionlog",
      "page": "https://aifitnessapi.com/google-health-api/nutrition-log"
    },
    {
      "dataType": "ovulation-test",
      "name": "Ovulation Test",
      "filterParam": "ovulation_test",
      "recordType": "Sample",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "create; update; batchDelete",
      "methods": "create; patch; batchDelete",
      "scopes": "https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly",
      "dataPointProperty": "ovulationTest",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `ovulation-test` sample data type collection.",
      "schema": "OvulationTest",
      "requiredFields": "result; sampleTime",
      "fields": "result; sampleTime",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": null,
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": "operation-name-differs",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#ovulationtest",
      "page": "https://aifitnessapi.com/google-health-api/ovulation-test"
    },
    {
      "dataType": "oxygen-saturation",
      "name": "Oxygen Saturation",
      "filterParam": "oxygen_saturation",
      "recordType": "Sample",
      "storageResolution": "1 minute",
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "list; reconcile",
      "methods": "list; reconcile",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "oxygenSaturation",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `oxygen-saturation` sample data type collection.",
      "schema": "OxygenSaturation",
      "requiredFields": "percentage; sampleTime",
      "fields": "percentage; sampleTime",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": "SpO2 Intraday",
      "fitbitDescription": "Returns only validated minute-level SpO2 measurements and excludes readings flagged as invalid due to motion artifacts or low sensor confidence. Because the Fitbit Web API only excluded the 50% sentinel value, the Google Health API returns fewer data points for the same time range. For details, see Oxygen saturation filtering.",
      "compatibleDevices": "Fitbit Air; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Inspire 3; Fitbit Ionic; Fitbit Luxe; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#oxygensaturation",
      "page": "https://aifitnessapi.com/google-health-api/oxygen-saturation"
    },
    {
      "dataType": "respiratory-rate-sleep-summary",
      "name": "Respiratory Rate Sleep Summary",
      "filterParam": "respiratory_rate_sleep_summary",
      "recordType": "Sample",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile",
      "methods": "list; reconcile",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "respiratoryRateSleepSummary",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `respiratory-rate-sleep-summary` sample data type collection.",
      "schema": "RespiratoryRateSleepSummary",
      "requiredFields": "fullSleepStats; sampleTime",
      "fields": "fullSleepStats; sampleTime; deepSleepStats; lightSleepStats; remSleepStats",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": null,
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Inspire HR; Fitbit Ionic; Fitbit Luxe; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#respiratoryratesleepsummary",
      "page": "https://aifitnessapi.com/google-health-api/respiratory-rate-sleep-summary"
    },
    {
      "dataType": "run-vo2-max",
      "name": "Run VO2 Max",
      "filterParam": "run_vo2_max",
      "recordType": "Sample",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile; rollup; dailyRollup",
      "methods": "list; reconcile; rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "runVo2Max",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `run-vo2-max` sample data type collection.",
      "schema": "RunVO2Max",
      "requiredFields": "runVo2Max; sampleTime",
      "fields": "runVo2Max; sampleTime",
      "rollupSchema": "RunVO2MaxRollupValue",
      "rollupFields": "rateAvg; rateMax; rateMin",
      "fitbitPredecessor": "VO2 Max value when the user runs",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Ionic; Fitbit Luxe; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#runvo2max",
      "page": "https://aifitnessapi.com/google-health-api/run-vo2-max"
    },
    {
      "dataType": "sedentary-period",
      "name": "Sedentary Period",
      "filterParam": "sedentary_period",
      "recordType": "Interval",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile; rollup; dailyRollup",
      "methods": "list; reconcile; rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "sedentaryPeriod",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `sedentary-period` interval data type collection.",
      "schema": "SedentaryPeriod",
      "requiredFields": "interval",
      "fields": "interval",
      "rollupSchema": "SedentaryPeriodRollupValue",
      "rollupFields": "durationSum",
      "fitbitPredecessor": "Activity time series minutes sedentary",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Alta; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Flex 2; Fitbit Inspire; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Inspire HR; Fitbit Ionic; Fitbit Luxe; Fitbit MobileTrack; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#sedentaryperiod",
      "page": "https://aifitnessapi.com/google-health-api/sedentary-period"
    },
    {
      "dataType": "skin-temperature-sensors",
      "name": "Skin Temperature Sensors",
      "filterParam": "skin_temperature_sensors",
      "recordType": "Sample",
      "storageResolution": null,
      "channel": "v4beta",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "list",
      "methods": "list",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "skinTemperatureSensors",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `skin-temperature-sensors` sample data type collection.",
      "schema": "SkinTemperatureSensors",
      "requiredFields": "sampleTime; sensorData",
      "fields": "sampleTime; sensorData",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": null,
      "fitbitDescription": null,
      "compatibleDevices": "Pixel Watch 4; Pixel Watch 5",
      "flags": "no-v4-datapoint-property",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4beta/users.dataTypes.dataPoints#skintemperaturesensors",
      "page": "https://aifitnessapi.com/google-health-api/skin-temperature-sensors"
    },
    {
      "dataType": "sleep",
      "name": "Sleep",
      "filterParam": "sleep",
      "recordType": "Session",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; get; reconcile; create; update; batchDelete",
      "methods": "list; get; reconcile; create; patch; batchDelete",
      "scopes": "https://www.googleapis.com/auth/googlehealth.sleep.readonly; https://www.googleapis.com/auth/googlehealth.sleep.writeonly",
      "dataPointProperty": "sleep",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `sleep` session data type collection.",
      "schema": "Sleep",
      "requiredFields": "interval",
      "fields": "interval; createTime; metadata; outOfBedSegments; shortAwakenings; stages; summary; type; updateTime",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": "Sleep",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Alta; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Flex 2; Fitbit Inspire; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Inspire HR; Fitbit Ionic; Fitbit Luxe; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": "operation-name-differs",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#sleep",
      "page": "https://aifitnessapi.com/google-health-api/sleep"
    },
    {
      "dataType": "steps",
      "name": "Steps",
      "filterParam": "steps",
      "recordType": "Interval",
      "storageResolution": "1 minute",
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "yes",
      "operations": "list; reconcile; rollup; dailyRollup",
      "methods": "list; reconcile; rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "steps",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `steps` interval data type collection.",
      "schema": "Steps",
      "requiredFields": "count; interval",
      "fields": "count; interval",
      "rollupSchema": "StepsRollupValue",
      "rollupFields": "countSum",
      "fitbitPredecessor": "Steps",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Alta; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Flex 2; Fitbit Inspire; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Inspire HR; Fitbit Ionic; Fitbit Luxe; Fitbit MobileTrack; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#steps",
      "page": "https://aifitnessapi.com/google-health-api/steps"
    },
    {
      "dataType": "swim-lengths-data",
      "name": "Swim Lengths Data",
      "filterParam": "swim_lengths_data",
      "recordType": "Interval",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "list; reconcile; rollup; dailyRollup",
      "methods": "list; reconcile; rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "swimLengthsData",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `swim-lengths-data` interval data type collection.",
      "schema": "SwimLengthsData",
      "requiredFields": "interval; strokeCount; swimStrokeType",
      "fields": "interval; strokeCount; swimStrokeType",
      "rollupSchema": "SwimLengthsDataRollupValue",
      "rollupFields": "strokeCountSum",
      "fitbitPredecessor": "Activity time series swimming strokes",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Flex 2; Fitbit Inspire; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Inspire HR; Fitbit Ionic; Fitbit Luxe; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#swimlengthsdata",
      "page": "https://aifitnessapi.com/google-health-api/swim-lengths-data"
    },
    {
      "dataType": "symptoms",
      "name": "Symptoms",
      "filterParam": "symptoms",
      "recordType": "Sample",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "create; update; batchDelete",
      "methods": "create; patch; batchDelete",
      "scopes": "https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly",
      "dataPointProperty": "symptoms",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `symptoms` sample data type collection.",
      "schema": "Symptoms",
      "requiredFields": "sampleTime; symptoms",
      "fields": "sampleTime; symptoms",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": null,
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": "operation-name-differs",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#symptoms",
      "page": "https://aifitnessapi.com/google-health-api/symptoms"
    },
    {
      "dataType": "time-in-heart-rate-zone",
      "name": "Time in Heart Rate Zone",
      "filterParam": "time_in_heart_rate_zone",
      "recordType": "Interval",
      "storageResolution": "1 minute",
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; reconcile; rollup; dailyRollup",
      "methods": "list; reconcile; rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "timeInHeartRateZone",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `time-in-heart-rate-zone` interval data type collection.",
      "schema": "TimeInHeartRateZone",
      "requiredFields": "heartRateZoneType; interval",
      "fields": "heartRateZoneType; interval",
      "rollupSchema": "TimeInHeartRateZoneRollupValue",
      "rollupFields": "timeInHeartRateZones",
      "fitbitPredecessor": null,
      "fitbitDescription": null,
      "compatibleDevices": null,
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#timeinheartratezone",
      "page": "https://aifitnessapi.com/google-health-api/time-in-heart-rate-zone"
    },
    {
      "dataType": "total-calories",
      "name": "Total Calories",
      "filterParam": "total_calories",
      "recordType": "Interval",
      "storageResolution": "1 minute",
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "yes",
      "operations": "rollup; dailyRollup",
      "methods": "rollUp; dailyRollUp",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": null,
      "dataPointMatch": null,
      "dataPointEvidence": null,
      "schema": null,
      "requiredFields": null,
      "fields": null,
      "rollupSchema": "TotalCaloriesRollupValue",
      "rollupFields": "kcalSum",
      "fitbitPredecessor": "Activity `caloriesOut`",
      "fitbitDescription": "The complete number of calories burned by a user over a period of time, inclusive of basal metabolic rate and active energy burned.",
      "compatibleDevices": "Fitbit Air; Fitbit Alta; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Flex 2; Fitbit Inspire; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Inspire HR; Fitbit Ionic; Fitbit Luxe; Fitbit MobileTrack; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": "no-v4-datapoint-property; release-note-webhook-type-not-listed",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/rollUp#RollupDataPoint.FIELDS.total_calories",
      "page": "https://aifitnessapi.com/google-health-api/total-calories"
    },
    {
      "dataType": "vo2-max",
      "name": "VO2 Max",
      "filterParam": "vo2_max",
      "recordType": "Sample",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "no",
      "trueZerosSupport": "no",
      "operations": "list; reconcile",
      "methods": "list; reconcile",
      "scopes": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly; https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
      "dataPointProperty": "vo2Max",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `vo2-max` sample data type collection.",
      "schema": "VO2Max",
      "requiredFields": "sampleTime; vo2Max",
      "fields": "sampleTime; vo2Max; measurementMethod",
      "rollupSchema": null,
      "rollupFields": null,
      "fitbitPredecessor": "VO2 Max value",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Air; Fitbit Alta HR; Fitbit Blaze; Fitbit Charge 2; Fitbit Charge 3; Fitbit Charge 4; Fitbit Charge 5; Fitbit Charge 6; Fitbit Inspire 2; Fitbit Inspire 3; Fitbit Ionic; Fitbit Luxe; Pixel Watch; Pixel Watch 2; Pixel Watch 3; Pixel Watch 4; Fitbit Sense; Fitbit Sense 2; Fitbit Versa; Fitbit Versa 2; Fitbit Versa 3; Fitbit Versa 4; Fitbit Versa Lite",
      "flags": null,
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#vo2max",
      "page": "https://aifitnessapi.com/google-health-api/vo2-max"
    },
    {
      "dataType": "weight",
      "name": "Weight",
      "filterParam": "weight",
      "recordType": "Sample",
      "storageResolution": null,
      "channel": "v4",
      "webhookSupport": "yes",
      "trueZerosSupport": "no",
      "operations": "list; get; reconcile; rollup; dailyRollup; create; update; batchDelete",
      "methods": "list; get; reconcile; rollUp; dailyRollUp; create; patch; batchDelete",
      "scopes": "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly; https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
      "dataPointProperty": "weight",
      "dataPointMatch": "description",
      "dataPointEvidence": "Optional. Data for points in the `weight` sample data type collection.",
      "schema": "Weight",
      "requiredFields": "sampleTime; weightGrams",
      "fields": "sampleTime; weightGrams; notes",
      "rollupSchema": "WeightRollupValue",
      "rollupFields": "weightGramsAvg",
      "fitbitPredecessor": "Weight",
      "fitbitDescription": null,
      "compatibleDevices": "Fitbit Aria; Fitbit Aria 2; Fitbit Aria Air",
      "flags": "operation-name-differs",
      "googleDocs": "https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#weight",
      "page": "https://aifitnessapi.com/google-health-api/weight"
    }
  ]
}