{
  "name": "Google Health API Data Types 2026",
  "version": "2026.1",
  "publisher": "AIFitnessAPI (aifitnessapi.com)",
  "license": "CC BY 4.0",
  "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.",
  "generatedFrom": "src/data/googleHealthApi.ts (generated by scripts/fetch-google-health-api.mjs, then by scripts/build-datasets.mjs)",
  "isBasedOn": "https://developers.google.com/health/data-types",
  "sourceReadOn": "2026-10-17",
  "fields": {
    "dataType": "The hyphenated id Google uses in endpoint URLs",
    "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.\"",
    "rollupSchema": "The *RollupValue schema a rollup of the type returns, where the table lists rollup or dailyRollup",
    "fitbitPredecessor": "The Fitbit Web API data type Google's mapping table maps to this type; null where it has no row",
    "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"
    }
  ]
}