Package google.devicesandservices.health.v4

Index

DataPointsService

Data Points Service exposing the user's health and fitness measured and derived data.

BatchDeleteDataPoints

rpc BatchDeleteDataPoints(BatchDeleteDataPointsRequest) returns (Operation)

Delete a batch of identifyable data points.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly
  • https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly
  • https://www.googleapis.com/auth/googlehealth.location.writeonly
  • https://www.googleapis.com/auth/googlehealth.nutrition.writeonly
  • https://www.googleapis.com/auth/googlehealth.sleep.writeonly

For more information, see the OAuth 2.0 Overview.

CreateDataPoint

rpc CreateDataPoint(CreateDataPointRequest) returns (Operation)

Creates a single identifiable data point.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly
  • https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly
  • https://www.googleapis.com/auth/googlehealth.location.writeonly
  • https://www.googleapis.com/auth/googlehealth.nutrition.writeonly
  • https://www.googleapis.com/auth/googlehealth.sleep.writeonly

For more information, see the OAuth 2.0 Overview.

DailyRollUpDataPoints

rpc DailyRollUpDataPoints(DailyRollUpDataPointsRequest) returns (DailyRollUpDataPointsResponse)

Roll up data points over civil time intervals for supported data types.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
  • https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly
  • https://www.googleapis.com/auth/googlehealth.location.readonly
  • https://www.googleapis.com/auth/googlehealth.nutrition.readonly
  • https://www.googleapis.com/auth/googlehealth.sleep.readonly
  • https://www.googleapis.com/auth/googlehealth.irn.readonly
  • https://www.googleapis.com/auth/googlehealth.ecg.readonly

For more information, see the OAuth 2.0 Overview.

GetDataPoint

rpc GetDataPoint(GetDataPointRequest) returns (DataPoint)

Get a single identifyable data point.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
  • https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly
  • https://www.googleapis.com/auth/googlehealth.location.readonly
  • https://www.googleapis.com/auth/googlehealth.nutrition.readonly
  • https://www.googleapis.com/auth/googlehealth.sleep.readonly
  • https://www.googleapis.com/auth/googlehealth.irn.readonly
  • https://www.googleapis.com/auth/googlehealth.ecg.readonly

For more information, see the OAuth 2.0 Overview.

ListDataPoints

rpc ListDataPoints(ListDataPointsRequest) returns (ListDataPointsResponse)

Query user health and fitness data points.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
  • https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly
  • https://www.googleapis.com/auth/googlehealth.location.readonly
  • https://www.googleapis.com/auth/googlehealth.nutrition.readonly
  • https://www.googleapis.com/auth/googlehealth.sleep.readonly
  • https://www.googleapis.com/auth/googlehealth.irn.readonly
  • https://www.googleapis.com/auth/googlehealth.ecg.readonly

For more information, see the OAuth 2.0 Overview.

ReconcileDataPoints

rpc ReconcileDataPoints(ReconcileDataPointsRequest) returns (ReconcileDataPointsResponse)

Reconcile data points from multiple data sources into a single data stream.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
  • https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly
  • https://www.googleapis.com/auth/googlehealth.location.readonly
  • https://www.googleapis.com/auth/googlehealth.nutrition.readonly
  • https://www.googleapis.com/auth/googlehealth.sleep.readonly
  • https://www.googleapis.com/auth/googlehealth.irn.readonly
  • https://www.googleapis.com/auth/googlehealth.ecg.readonly

For more information, see the OAuth 2.0 Overview.

RollUpDataPoints

rpc RollUpDataPoints(RollUpDataPointsRequest) returns (RollUpDataPointsResponse)

Roll up data points over physical time intervals for supported data types.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
  • https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly
  • https://www.googleapis.com/auth/googlehealth.location.readonly
  • https://www.googleapis.com/auth/googlehealth.nutrition.readonly
  • https://www.googleapis.com/auth/googlehealth.sleep.readonly
  • https://www.googleapis.com/auth/googlehealth.irn.readonly
  • https://www.googleapis.com/auth/googlehealth.ecg.readonly

For more information, see the OAuth 2.0 Overview.

UpdateDataPoint

rpc UpdateDataPoint(UpdateDataPointRequest) returns (Operation)

Updates a single identifiable data point. If a data point with the specified name is not found, the request will fail.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly
  • https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly
  • https://www.googleapis.com/auth/googlehealth.location.writeonly
  • https://www.googleapis.com/auth/googlehealth.nutrition.writeonly
  • https://www.googleapis.com/auth/googlehealth.sleep.writeonly

For more information, see the OAuth 2.0 Overview.

DataSubscriptionService

Data Subscription Service that allows clients (e.g., Fitbit 3P applications, internal Fitbit Services) to manage their subscriber endpoints. This service provides CRUD APIs for subscribers, and also offers functionalities for subscriber verification and statistics.

CreateSubscriber

rpc CreateSubscriber(CreateSubscriberRequest) returns (Operation)

Registers a new subscriber endpoint to receive notifications. A subscriber represents an application or service that wishes to receive data change notifications for users who have granted consent.

Endpoint Verification: For a subscriber to be successfully created, the provided endpoint_uri must be a valid HTTPS endpoint and must pass an automated verification check. The backend will send two HTTP POST requests to the endpoint_uri:

  1. Verification with Authorization:

    • Headers: Includes Content-Type: application/json and Authorization (with the exact value from CreateSubscriberPayload.endpoint_authorization.secret).
    • Body: {"type": "verification"}
    • Expected Response: HTTP 201 Created.
  2. Verification without Authorization:

    • Headers: Includes Content-Type: application/json. The Authorization header is OMITTED.
    • Body: {"type": "verification"}
    • Expected Response: HTTP 401 Unauthorized or 403 Forbidden.

Both tests must pass for the subscriber creation to succeed. If verification fails, the operation will not be completed and an error will be returned. This process ensures the endpoint is reachable and correctly validates the Authorization header.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • health.subscribers.create

For more information, see the IAM documentation.

CreateSubscription

rpc CreateSubscription(CreateSubscriptionRequest) returns (Subscription)

Creates a subscription for a specific user to a specific subscriber. This method requires the subscriber to have a SubscriptionCreatePolicy set to MANUAL for the given data types.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • health.subscriptions.create

For more information, see the IAM documentation.

DeleteSubscriber

rpc DeleteSubscriber(DeleteSubscriberRequest) returns (Operation)

Deletes a subscriber registration. This will stop all notifications to the subscriber's endpoint.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • health.subscribers.delete

For more information, see the IAM documentation.

DeleteSubscription

rpc DeleteSubscription(DeleteSubscriptionRequest) returns (Empty)

Deletes a specific user subscription, stopping notifications for this user to this subscriber.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • health.subscriptions.delete

For more information, see the IAM documentation.

ListSubscribers

rpc ListSubscribers(ListSubscribersRequest) returns (ListSubscribersResponse)

Lists all subscribers registered within the owned Google Cloud Project.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • health.subscribers.list

For more information, see the IAM documentation.

ListSubscriptions

rpc ListSubscriptions(ListSubscriptionsRequest) returns (ListSubscriptionsResponse)

Lists all active subscriptions for a given subscriber. This can be filtered, for example, by user or data type.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • health.subscriptions.list

For more information, see the IAM documentation.

UpdateSubscriber

rpc UpdateSubscriber(UpdateSubscriberRequest) returns (Operation)

Updates the configuration of an existing subscriber, such as the endpoint URI or the data types it's interested in.

Endpoint Verification: If the endpoint_uri or endpoint_authorization field is included in the update_mask, the backend will re-verify the endpoint. The verification process is the same as described in CreateSubscriber:

  1. Verification with Authorization: POST to the new or existing endpoint_uri with the new or existing Authorization secret. Expects HTTP 201 Created.
  2. Verification without Authorization: POST to the endpoint_uri without the Authorization header. Expects HTTP 401 Unauthorized or 403 Forbidden.

Both tests must pass using the potentially updated values for the subscriber update to succeed. If verification fails, the update will not be applied, and an error will be returned.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • health.subscribers.update

For more information, see the IAM documentation.

UpdateSubscription

rpc UpdateSubscription(UpdateSubscriptionRequest) returns (Subscription)

Updates the data types for an existing user subscription.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • health.subscriptions.update

For more information, see the IAM documentation.

HealthProfileService

Health Profile Service

GetIdentity

rpc GetIdentity(GetIdentityRequest) returns (Identity)

Gets the user's identity.

It includes the legacy Fitbit user ID and the Google user ID and it can be used by migrating clients to map identifiers between the two systems.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/googlehealth.profile.readonly
  • https://www.googleapis.com/auth/googlehealth.settings.readonly
  • https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
  • https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly
  • https://www.googleapis.com/auth/googlehealth.nutrition.readonly
  • https://www.googleapis.com/auth/googlehealth.sleep.readonly
  • https://www.googleapis.com/auth/googlehealth.irn.readonly
  • https://www.googleapis.com/auth/googlehealth.ecg.readonly

For more information, see the OAuth 2.0 Overview.

GetIrnProfile

rpc GetIrnProfile(GetIrnProfileRequest) returns (IrnProfile)

Returns user's IRN Profile details.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/googlehealth.irn.readonly

For more information, see the OAuth 2.0 Overview.

GetPairedDevice

rpc GetPairedDevice(GetPairedDeviceRequest) returns (PairedDevice)

Returns user's Device.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/googlehealth.settings.readonly

For more information, see the OAuth 2.0 Overview.

GetProfile

rpc GetProfile(GetProfileRequest) returns (Profile)

Returns user Profile details.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/googlehealth.profile.readonly

For more information, see the OAuth 2.0 Overview.

GetSettings

rpc GetSettings(GetSettingsRequest) returns (Settings)

Returns user settings details.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/googlehealth.settings.readonly

For more information, see the OAuth 2.0 Overview.

ListPairedDevices

rpc ListPairedDevices(ListPairedDevicesRequest) returns (ListPairedDevicesResponse)

Returns the user's list of paired 1P trackers and smartwatches.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/googlehealth.settings.readonly

For more information, see the OAuth 2.0 Overview.

UpdateProfile

rpc UpdateProfile(UpdateProfileRequest) returns (Profile)

Updates the user's profile details.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/googlehealth.profile.writeonly

For more information, see the OAuth 2.0 Overview.

UpdateSettings

rpc UpdateSettings(UpdateSettingsRequest) returns (Settings)

Updates the user's settings details.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/googlehealth.settings.writeonly

For more information, see the OAuth 2.0 Overview.

ActiveEnergyBurned

Energy burned as part of an activity, excluding the basal energy burn.

Fields
interval

ObservationTimeInterval

Required. Observed interval

kcal

double

Required. Energy burned during an activity, measured in kilocalories.

ActiveEnergyBurnedRollupValue

Represents the result of the rollup of active energy burned.

Fields
kcal_sum

double

Output only. Sum of the active energy burned in kilocalories.

ActiveMinutes

Record of active minutes in a given time interval.

Fields
interval

ObservationTimeInterval

Required. Observed interval.

active_minutes_by_activity_level[]

ActiveMinutes.ActiveMinutesByActivityLevel

Required. Active minutes by activity level. At most one record per activity level is allowed.

ActiveMinutesByActivityLevel

Active minutes at a given activity level.

Fields
activity_level

ActiveMinutes.ActivityLevel

Required. The level of activity.

active_minutes

int64

Required. Number of whole minutes spent in activity.

ActivityLevel

Activity level.

Enums
ACTIVITY_LEVEL_UNSPECIFIED Activity level is unspecified.
LIGHT Light activity level.
MODERATE Moderate activity level.
VIGOROUS Vigorous activity level.

ActiveMinutesRollupValue

Represents the result of the rollup of the active minutes data type.

Fields
active_minutes_rollup_by_activity_level[]

ActiveMinutesRollupValue.ActiveMinutesRollupByActivityLevel

Active minutes by activity level. At most one record per activity level is allowed.

ActiveMinutesRollupByActivityLevel

Active minutes by activity level.

Fields
activity_level

ActiveMinutes.ActivityLevel

The level of activity.

active_minutes_sum

int64

Number of whole minutes spent in activity.

ActiveZoneMinutes

Record of active zone minutes in a given time interval.

Fields
interval

ObservationTimeInterval

Required. Observed interval.

heart_rate_zone

ActiveZoneMinutes.HeartRateZone

Required. Heart rate zone in which the active zone minutes have been earned, in the given time interval.

active_zone_minutes

int64

Required. Number of Active Zone Minutes earned in the given time interval. Note: active_zone_minutes equals to 1 for low intensity (fat burn) zones or 2 for high intensity zones (cardio, peak).

HeartRateZone

Represents different heart rate zones.

Enums
HEART_RATE_ZONE_UNSPECIFIED Unspecified heart rate zone.
FAT_BURN The fat burn heart rate zone.
CARDIO The cardio heart rate zone.
PEAK The peak heart rate zone.

ActiveZoneMinutesRollupValue

Represents the result of the rollup of the active zone minutes data type.

Fields
sum_in_cardio_heart_zone

int64

Active zone minutes in HeartRateZone.CARDIO.

sum_in_peak_heart_zone

int64

Active zone minutes in HeartRateZone.PEAK.

sum_in_fat_burn_heart_zone

int64

Active zone minutes in HeartRateZone.FAT_BURN.

ActivityLevel

Internal type to capture activity level during a certain time interval.

Fields
interval

ObservationTimeInterval

Required. Observed interval.

activity_level_type

ActivityLevel.ActivityLevelType

Required. Activity level type in the given time interval.

ActivityLevelType

Represents different activity level types.

Enums
ACTIVITY_LEVEL_TYPE_UNSPECIFIED Unspecified activity level type.
SEDENTARY Sedentary activity level.
LIGHTLY_ACTIVE Lightly active activity level.
MODERATELY_ACTIVE Moderately active activity level.
VERY_ACTIVE Very active activity level.

ActivityLevelRollupValue

Represents the result of the rollup of the activity level data type.

Fields
activity_level_rollups_by_activity_level_type[]

ActivityLevelRollupValue.ActivityLevelRollupByActivityLevelType

List of total durations in each activity level type.

ActivityLevelRollupByActivityLevelType

Represents the total duration in a specific activity level type.

Fields
activity_level_type

ActivityLevel.ActivityLevelType

Activity level type.

total_duration

Duration

Total duration in the activity level type.

Altitude

Captures the altitude gain (i.e. deltas), and not level above sea, for a user in millimeters.

Fields
interval

ObservationTimeInterval

Required. Observed interval.

gain_millimeters

int64

Required. Altitude gain in millimeters over the observed interval.

AltitudeRollupValue

Represents the result of the rollup of the user's altitude.

Fields
gain_millimeters_sum

int64

Sum of the altitude gain in millimeters.

BatchDeleteDataPointsOperationMetadata

Metadata for a batch delete data points operation.

Fields
failed_requests

map<int32, Status>

The key in this map is the index of the request in the requests field in the batch request.

BatchDeleteDataPointsRequest

Request to delete a batch of identifiable data points.

Fields
parent

string

Optional. Parent (data type) for the Data Point collection Format: users/me/dataTypes/{data_type}, e.g.:

  • users/me/dataTypes/steps
  • users/me/dataTypes/-

For a list of the supported data types see the DataPoint data union field.

Deleting data points across multiple data type collections is supported following https://aip.dev/159.

If this is set, the parent of all of the data points specified in names must match this field.

names[]

string

Required. The names of the DataPoints to delete. A maximum of 10000 data points can be deleted in a single request.

BatchDeleteDataPointsResponse

Response containing the list of possibly soft-deleted DataPoints.

Fields
data_points[]

DataPoint

The list of soft-deleted DataPoints, if the data type supports only soft deletion.

BloodGlucose

Represents a blood glucose level measurement. LINT: LEGACY_NAMES

Fields
sample_time

ObservationSampleTime

Required. The time at which blood glucose was measured.

measurement_source

BloodGlucose.MeasurementSource

Optional. Source of the measurement.

meal_type

BloodGlucose.MealType

Optional. Meal type of the measurement.

measurement_timing

BloodGlucose.MeasurementTiming

Optional. Timing of the measurement.

specimen

BloodGlucose.Specimen

Optional. Type of body fluid used to measure the blood glucose.

notes

string

Optional. Standard free-form notes captured at manual logging.

blood_glucose_milligrams_per_deciliter

double

Required. Blood glucose level concentration in mg/dL.

MealType

Meal type associated with the measurement.

Enums
MEAL_TYPE_UNSPECIFIED Unspecified meal type.
BREAKFAST Breakfast.
LUNCH Lunch.
DINNER Dinner.
SNACK Snack.

MeasurementSource

The clinical method or tool used to measure the blood glucose level.

Enums
MEASUREMENT_SOURCE_UNSPECIFIED Unspecified measurement source.
SELF_MONITORING_BLOOD_GLUCOSE Self-monitoring of blood glucose (Blood glucose meter)
CONTINUOUS_GLUCOSE_MONITORING Continuous glucose monitoring device
LAB_TEST Laboratory test

MeasurementTiming

Timing of the measurement.

Enums
MEASUREMENT_TIMING_UNSPECIFIED Unspecified measurement timing.
AFTER_MEAL Measurement taken after meal.
BEFORE_MEAL Measurement taken before meal.
FASTING Measurement taken while fasting.
GENERAL General measurement (not associated with a meal or time of day).
BEFORE_BED Measurement taken before bed.
OVER_NIGHT Measurement taken over night.

Specimen

Type of body fluid used to measure the blood glucose.

Enums
SPECIMEN_UNSPECIFIED Unspecified specimen.
CAPILLARY_BLOOD Capillary blood.
INTERSTITIAL_FLUID Interstitial fluid.
PLASMA Plasma.
SERUM Serum.
TEARS Tears.
WHOLE_BLOOD Whole blood.

BloodGlucoseRollupValue

Represents the result of the rollup of the blood glucose data type. LINT: LEGACY_NAMES

Fields
blood_glucose_milligrams_per_deciliter_avg

double

Average blood glucose level in mg/dL.

BodyFat

Body fat measurement.

Fields
sample_time

ObservationSampleTime

Required. The time at which body fat was measured.

percentage

double

Required. Body fat percentage, in range [0, 100].

BodyFatRollupValue

Represents the result of the rollup of the body fat data type.

Fields
body_fat_percentage_avg

double

Average body fat percentage.

CaloriesInHeartRateZoneRollupValue

Represents the result of the rollup of the calories in heart rate zone data type.

Fields
calories_in_heart_rate_zones[]

CaloriesInHeartRateZoneRollupValue.CaloriesInHeartRateZoneValue

List of calories burned in each heart rate zone.

CaloriesInHeartRateZoneValue

Represents the amount of kilocalories burned in a specific heart rate zone.

Fields
heart_rate_zone

HeartRateZoneType

The heart rate zone.

kcal

double

The amount of kilocalories burned in the specified heart rate zone.

CivilDateTime

Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries.

Fields
date

Date

Required. Calendar date.

time

TimeOfDay

Optional. Time of day. Defaults to the start of the day, at midnight if omitted.

CivilTimeInterval

Counterpart of google.type.Interval, but using CivilDateTime.

Fields
start

CivilDateTime

Required. The inclusive start of the range.

end

CivilDateTime

Required. The exclusive end of the range.

CoreBodyTemperature

Core body temperature measurement, distinct from peripheral body temperature, reflects the temperature of the body's internal organs.

Fields
sample_time

ObservationSampleTime

Required. The time at which core body temperature was measured.

measurement_location

CoreBodyTemperature.MeasurementLocation

Optional. The location of the core body temperature measurement.

id

string

Optional. The unique identifier of the core body temperature measurement.

temperature_celsius

double

Required. The core body temperature in Celsius.

MeasurementLocation

Measurement location for core body temperature.

Enums
MEASUREMENT_LOCATION_UNSPECIFIED Measurement location is unspecified.
OTHER Other measurement location.
ARMPIT Armpit measurement location.
BODY Body measurement location.
EAR Ear measurement location.
FINGER Finger measurement location.
GASTRO_INTESTINAL Gastro-intestinal measurement location.
MOUTH Mouth measurement location.
RECTUM Rectum measurement location.
TOE Toe measurement location.
EAR_DRUM Ear drum measurement location.
TEMPORAL_ARTERY Temporal artery measurement location.
FOREHEAD Forehead measurement location.
URINARY_BLADDER Urinary bladder measurement location.
NASAL Nasal measurement location.
NASOPHARYNGEAL Nasopharyngeal measurement location.
WRIST Wrist measurement location.
VAGINA Vagina measurement location.

CoreBodyTemperatureRollupValue

Represents the result of the rollup of the core body temperature data type.

Fields
temperature_celsius_avg

double

Average core body temperature in Celsius.

temperature_celsius_max

double

Maximum core body temperature in Celsius.

temperature_celsius_min

double

Minimum core body temperature in Celsius.

CreateDataPointOperationMetadata

This type has no fields.

Metadata for a create data point operation.

CreateDataPointRequest

Request to create an identifiable data point.

Fields
parent

string

Required. The parent resource name where the data point will be created. Format: users/{user}/dataTypes/{data_type}

data_point

DataPoint

Required. The data point to create.

CreateSubscriberMetadata

This type has no fields.

Represents metadata for creating a subscriber.

CreateSubscriberPayload

Payload for creating a subscriber.

Fields
endpoint_uri

string

Required. The full HTTPS URI where update notifications will be sent. The URI must be a valid URL and use HTTPS as the scheme. This endpoint will be verified during the CreateSubscriber call. See CreateSubscriber RPC documentation for verification details.

subscriber_configs[]

SubscriberConfig

Optional. Configuration for the subscriber.

endpoint_authorization

EndpointAuthorization

Required. Authorization mechanism for the subscriber endpoint. The secret within this message is crucial for endpoint verification and for securing webhook notifications.

CreateSubscriberRequest

-- Messages -- Request message for CreateSubscriber.

Fields
parent

string

Required. The parent resource where this subscriber will be created. Format: projects/{project} Example: projects/my-project-123

subscriber

CreateSubscriberPayload

Required. The subscriber to create.

subscriber_id

string

Optional. The ID to use for the subscriber, which will become the final component of the subscriber's resource name.

This value should be 4-36 characters, and valid characters are /a-z/.

CreateSubscriptionPayload

Payload for creating a subscription.

Fields
data_types[]

string

Optional. Data types subscribed to.

user

string

Required. Immutable. The resource name of the user for whom this subscription is active. Format: users/{user} where {user} is the public healthUserId as returned by the GetIdentity action in the profile PAPI (see google.devicesandservices.health.v4main.HealthProfileService.GetIdentity).

CreateSubscriptionRequest

Request message for CreateSubscription.

Fields
parent

string

Required. The parent subscriber. Format: projects/{project}/subscribers/{subscriber} The {subscriber} ID is user-settable (4-36 characters, matching /a-z/) if provided during creation, or system-generated otherwise.

subscription_id

string

Optional. The {subscription_id} is user-settable (4-36 chars, matching /a-z/) or system-generated otherwise. If provided, the ID must be unique within the parent subscriber.

subscription

CreateSubscriptionPayload

Required. The subscription to create.

DailyHeartRateVariability

Represents the daily heart rate variability data type.

At least one of the following fields must be set:

  • average_heart_rate_variability_milliseconds
  • non_rem_heart_rate_beats_per_minute
  • entropy
  • deep_sleep_root_mean_square_of_successive_differences_milliseconds
Fields
date

Date

Required. Date (in the user's timezone) of heart rate variability measurement.

average_heart_rate_variability_milliseconds

double

Optional. A user's average heart rate variability calculated using the root mean square of successive differences (RMSSD) in times between heartbeats.

non_rem_heart_rate_beats_per_minute

int64

Optional. Non-REM heart rate

entropy

double

Optional. The Shanon entropy of heartbeat intervals. Entropy quantifies randomness or disorder in a system. High entropy indicates high HRV. Entropy is measured from the histogram of time interval between successive heart beats values measured during sleep.

deep_sleep_root_mean_square_of_successive_differences_milliseconds

double

Optional. The root mean square of successive differences (RMSSD) value during deep sleep.

DailyHeartRateZones

User's heart rate zone thresholds based on the Karvonen algorithm for a specific day.

Fields
date

Date

Required. Date (in user's timezone) of the heart rate zones record.

heart_rate_zones[]

DailyHeartRateZones.HeartRateZone

Required. The heart rate zones.

HeartRateZone

The heart rate zone.

Fields
heart_rate_zone_type

HeartRateZoneType

Required. The heart rate zone type.

min_beats_per_minute

int64

Required. Minimum heart rate for this zone in beats per minute.

max_beats_per_minute

int64

Required. Maximum heart rate for this zone in beats per minute.

DailyOxygenSaturation

A daily oxygen saturation (SpO2) record. Represents the user's daily oxygen saturation summary, typically calculated during sleep.

Fields
date

Date

Required. Date (in user's timezone) of the daily oxygen saturation record.

average_percentage

double

Required. The average value of the oxygen saturation samples during the sleep.

lower_bound_percentage

double

Required. The lower bound of the confidence interval of oxygen saturation samples during sleep.

upper_bound_percentage

double

Required. The upper bound of the confidence interval of oxygen saturation samples during sleep.

standard_deviation_percentage

double

Optional. Standard deviation of the daily oxygen saturation averages from the past 7-30 days.

DailyRespiratoryRate

A daily average respiratory rate (breaths per minute) for a day of the year. One data point per day calculated for the main sleep.

Fields
date

Date

Required. The date on which the respiratory rate was measured.

breaths_per_minute

double

Required. The average number of breaths taken per minute.

DailyRestingHeartRate

Measures the daily resting heart rate for a user, calculated using the all day heart rate measurements.

Fields
date

Date

Required. Date (in the user's timezone) of the resting heart rate measurement.

daily_resting_heart_rate_metadata

DailyRestingHeartRate.DailyRestingHeartRateMetadata

Optional. Metadata for the daily resting heart rate.

beats_per_minute

int64

Required. The resting heart rate value in beats per minute.

DailyRestingHeartRateMetadata

Metadata for the daily resting heart rate.

Fields
calculation_method

DailyRestingHeartRate.DailyRestingHeartRateMetadata.CalculationMethod

Required. The method used to calculate the resting heart rate.

CalculationMethod

The method used to calculate the resting heart rate.

Enums
CALCULATION_METHOD_UNSPECIFIED The calculation method is unspecified.
WITH_SLEEP The resting heart rate is calculated using the sleep data.
ONLY_WITH_AWAKE_DATA The resting heart rate is calculated using only awake data.

DailyRollUpDataPointsRequest

Request to roll up data points by civil time intervals.

Fields
parent

string

Required. Parent data type of the Data Point collection.

Format: users/{user}/dataTypes/{data_type}, e.g.:

  • users/me/dataTypes/steps
  • users/me/dataTypes/distance

For a list of the supported data types see the DailyRollupDataPoint value union field.

range

CivilTimeInterval

Required. Closed-open range of data points that will be rolled up. The start time must be aligned with the aggregation window. The maximum range for calories-in-heart-rate-zone, heart-rate, active-minutes and total-calories is 14 days. The maximum range for all other data types is 90 days.

window_size_days

int32

Optional. Aggregation window size, in number of days. Defaults to 1 if not specified.

page_size

int32

Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly.

page_token

string

Optional. The next_page_token from a previous request, if any. All other request fields need to be the same as in the initial request when the page token is specified.

data_source_family

string

Optional. The data source family name to roll up. If empty, data points from all available data sources will be rolled up.

Format: users/me/dataSourceFamilies/{data_source_family}

The supported values are:

  • users/me/dataSourceFamilies/all-sources - default value
  • users/me/dataSourceFamilies/google-wearables - tracker devices
  • users/me/dataSourceFamilies/google-sources - Google first party sources

DailyRollUpDataPointsResponse

Response containing the list of rolled up data points.

Fields
rollup_data_points[]

DailyRollupDataPoint

Values for each aggregation time window.

DailyRollupDataPoint

Value of a daily rollup for a single civil time interval (aggregation window) of reconciled data points from all data sources, excluding those data points that are identified as recorded by wearables in intervals when they were not actually worn.

Fields
civil_start_time

CivilDateTime

Start time of the window this value aggregates over

civil_end_time

CivilDateTime

End time of the window this value aggregates over

Union field value. Outcome of a rollup of the requested roll-up type.

{RollUpType}RollupValue messages for each data type contain aggregated values for all supported fields.

The field names usually follow the format {original_field_name}_{aggregation_function}. For example: confidence_min, confidence_sum.

If there were no manual, on-wrist data points in this interval, the value will not be set. When the value is set, but the data shows zero, e.g. steps.count_sum = 0, it means that a device was worn but it did not record any data points for this data type.

These messages represent the aggregated data payload for each data type and are embedded within the DailyRollupDataPoint. They are not standalone resources themselves. value can be only one of the following:

steps

StepsRollupValue

Returned by default when rolling up data points from the steps data type, or when requested explicitly using the steps rollup type identifier.

floors

FloorsRollupValue

Returned by default when rolling up data points from the floors data type, or when requested explicitly using the floors rollup type identifier.

heart_rate

HeartRateRollupValue

Returned by default when rolling up data points from the heart-rate data type, or when requested explicitly using the heart-rate rollup type identifier.

resting_heart_rate_personal_range

RestingHeartRatePersonalRangeRollupValue

Returned by default when rolling up data points from the daily-resting-heart-rate data type, or when requested explicitly using the resting-heart-rate-personal-range rollup type identifier.

heart_rate_variability_personal_range

HeartRateVariabilityPersonalRangeRollupValue

Returned by default when rolling up data points from the daily-heart-rate-variability data type, or when requested explicitly using the heart-rate-variability-personal-range rollup type identifier.

weight

WeightRollupValue

Returned by default when rolling up data points from the weight data type, or when requested explicitly using the weight rollup type identifier.

altitude

AltitudeRollupValue

Returned by default when rolling up data points from the altitude data type, or when requested explicitly using the altitude rollup type identifier.

distance

DistanceRollupValue

Returned by default when rolling up data points from the distance data type, or when requested explicitly using the distance rollup type identifier.

body_fat

BodyFatRollupValue

Returned by default when rolling up data points from the body-fat data type, or when requested explicitly using the body-fat rollup type identifier.

total_calories

TotalCaloriesRollupValue

Returned by default when rolling up data points from the total-calories data type, or when requested explicitly using the total-calories rollup type identifier.

active_zone_minutes

ActiveZoneMinutesRollupValue

Returned by default when rolling up data points from the active-zone-minutes data type, or when requested explicitly using the active-zone-minutes rollup type identifier.

sedentary_period

SedentaryPeriodRollupValue

Returned by default when rolling up data points from the sedentary-period data type, or when requested explicitly using the sedentary-period rollup type identifier.

run_vo2_max

RunVO2MaxRollupValue

Returned by default when rolling up data points from the run-vo2-max data type, or when requested explicitly using the run-vo2-max rollup type identifier.

calories_in_heart_rate_zone

CaloriesInHeartRateZoneRollupValue

Returned by default when rolling up data points from the calories-in-heart-rate-zone data type, or when requested explicitly using the calories-in-heart-rate-zone rollup type identifier.

activity_level

ActivityLevelRollupValue

Returned by default when rolling up data points from the activity-level data type, or when requested explicitly using the activity-level rollup type identifier.

nutrition_log

NutritionLogRollupValue

Returned by default when rolling up data points from the nutrition-log data type, or when requested explicitly using the nutrition-log rollup type identifier.

hydration_log

HydrationLogRollupValue

Returned by default when rolling up data points from the hydration-log data type, or when requested explicitly using the hydration-log rollup type identifier.

time_in_heart_rate_zone

TimeInHeartRateZoneRollupValue

Returned by default when rolling up data points from the time-in-heart-rate-zone data type, or when requested explicitly using the time-in-heart-rate-zone rollup type identifier.

active_minutes

ActiveMinutesRollupValue

Returned by default when rolling up data points from the active-minutes data type, or when requested explicitly using the active-minutes rollup type identifier.

swim_lengths_data

SwimLengthsDataRollupValue

Returned by default when rolling up data points from the swim-lengths-data data type, or when requested explicitly using the swim-lengths-data rollup type identifier.

core_body_temperature

CoreBodyTemperatureRollupValue

Returned by default when rolling up data points from the core-body-temperature data type, or when requested explicitly using the core-body-temperature rollup type identifier.

active_energy_burned

ActiveEnergyBurnedRollupValue

Returned by default when rolling up data points from the active-energy-burned data type.

blood_glucose

BloodGlucoseRollupValue

Returned by default when rolling up data points from the blood-glucose data type.

DailySleepTemperatureDerivations

Provides derived sleep temperature values, calculated from skin or internal device temperature readings during sleep.

Fields
date

Date

Required. Date for which the sleep temperature derivations are calculated.

nightly_temperature_celsius

double

Required. The user's nightly skin temperature. It is the mean of skin temperature samples taken from the user’s sleep.

baseline_temperature_celsius

double

Optional. The user's baseline skin temperature. It is the median of the user's nightly skin temperature over the past 30 days.

relative_nightly_stddev_30d_celsius

double

Optional. The standard deviation of the user’s relative nightly skin temperature (temperature - baseline) over the past 30 days.

DailyVO2Max

Contains a daily summary of the user's VO2 max (cardio fitness score), which is the maximum rate of oxygen the body can use during exercise.

Fields
date

Date

Required. The date for which the Daily VO2 max was measured.

estimated

bool

Optional. An estimated field is added to indicate when the confidence has decreased sufficiently to consider the value an estimation.

cardio_fitness_level

DailyVO2Max.CardioFitnessLevel

Optional. Represents the user's cardio fitness level based on their VO2 max.

vo2_max

double

Required. Daily VO2 max value measured as in ml consumed oxygen / kg of body weight / min.

vo2_max_covariance

double

Optional. The covariance of the VO2 max value.

CardioFitnessLevel

The cardio fitness level categories.

Enums
CARDIO_FITNESS_LEVEL_UNSPECIFIED Unspecified cardio fitness level.
POOR Poor cardio fitness level.
FAIR Fair cardio fitness level.
AVERAGE Average cardio fitness level.
GOOD Good cardio fitness level.
VERY_GOOD Very good cardio fitness level.
EXCELLENT Excellent cardio fitness level.

DataPoint

A computed or recorded metric.

Fields
name

string

Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty.

Format: users/{user}/dataTypes/{data_type}/dataPoints/{data_point}

Example: users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef

The {user} ID is a system-generated identifier, as described in Identity.health_user_id.

The {data_type} ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. total-calories for the total_calories field.

The {data_point} ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.

data_source

DataSource

Optional. Data source information for the metric

Union field data. Data type component in the name field will always correspond to the data field set. These messages represent the data payload for each data type and are embedded within the DataPoint resource. They are not standalone resources themselves. Unless otherwise noted, data types will exclude data points that are identified as recorded by wearables in intervals when they were not actually worn. data can be only one of the following:
steps

Steps

Optional. Data for points in the steps interval data type collection.

floors

Floors

Optional. Data for points in the floors interval data type collection.

heart_rate

HeartRate

Optional. Data for points in the heart-rate sample data type collection.

sleep

Sleep

Optional. Data for points in the sleep session data type collection.

daily_resting_heart_rate

DailyRestingHeartRate

Optional. Data for points in the daily-resting-heart-rate daily data type collection.

daily_heart_rate_variability

DailyHeartRateVariability

Optional. Data for points in the daily-heart-rate-variability daily data type collection.

exercise

Exercise

Optional. Data for points in the exercise session data type collection.

weight

Weight

Optional. Data for points in the weight sample data type collection.

altitude

Altitude

Optional. Data for points in the altitude interval data type collection.

distance

Distance

Optional. Data for points in the distance interval data type collection.

body_fat

BodyFat

Optional. Data for points in the body-fat sample data type collection.

active_zone_minutes

ActiveZoneMinutes

Optional. Data for points in the active-zone-minutes interval data type collection, measured in minutes.

heart_rate_variability

HeartRateVariability

Optional. Data for points in the heart-rate-variability sample data type collection.

daily_sleep_temperature_derivations

DailySleepTemperatureDerivations

Optional. Data for points in the daily-sleep-temperature-derivations daily data type collection.

sedentary_period

SedentaryPeriod

Optional. Data for points in the sedentary-period interval data type collection.

run_vo2_max

RunVO2Max

Optional. Data for points in the run-vo2-max sample data type collection.

oxygen_saturation

OxygenSaturation

Optional. Data for points in the oxygen-saturation sample data type collection.

daily_oxygen_saturation

DailyOxygenSaturation

Optional. Data for points in the daily-oxygen-saturation daily data type collection.

activity_level

ActivityLevel

Optional. Data for points in the activity-level daily data type collection.

vo2_max

VO2Max

Optional. Data for points in the vo2-max sample data type collection.

daily_vo2_max

DailyVO2Max

Optional. Data for points in the daily-vo2-max daily data type collection.

nutrition_log

NutritionLog

Optional. Data for points in the nutrition-log session data type collection.

irregular_rhythm_notification

IrregularRhythmNotification

Optional. Data for points in the irregular-rhythm-notification session data type collection.

electrocardiogram

Electrocardiogram

Optional. Data for points in the electrocardiogram session data type collection.

daily_heart_rate_zones

DailyHeartRateZones

Optional. Data for points in the daily-heart-rate-zones daily data type collection.

hydration_log

HydrationLog

Optional. Data for points in the hydration-log session data type collection.

food

Food

Optional. The food details.

time_in_heart_rate_zone

TimeInHeartRateZone

Optional. Data for points in the time-in-heart-rate-zone interval data type collection.

active_minutes

ActiveMinutes

Optional. Data for points in the active-minutes interval data type collection.

respiratory_rate_sleep_summary

RespiratoryRateSleepSummary

Optional. Data for points in the respiratory-rate-sleep-summary sample data type collection.

daily_respiratory_rate

DailyRespiratoryRate

Optional. Data for points in the daily-respiratory-rate daily data type collection.

swim_lengths_data

SwimLengthsData

Optional. Data for points in the swim-lengths-data interval data type collection.

height

Height

Optional. Data for points in the height sample data type collection.

core_body_temperature

CoreBodyTemperature

Optional. Data for points in the core-body-temperature sample data type collection.

active_energy_burned

ActiveEnergyBurned

Optional. Data for points in the active-energy-burned interval data type collection.

food_measurement_unit

FoodMeasurementUnit

Optional. The food measurement unit details.

blood_glucose

BloodGlucose

Optional. Data for points in the blood-glucose sample data type collection.

DataSource

Data Source definition to track the origin of data.

Each health data point, regardless of the complexity or data model (whether a simple step count or a detailed sleep session) must retain information about its source of origin (e.g. the device or app that collected it).

Fields
recording_method

DataSource.RecordingMethod

Optional. Captures how the data was recorded.

device

DataSource.Device

Optional. Captures metadata for raw data points originating from devices. We expect this data source to be used for data points written on device sync.

application

DataSource.Application

Output only. Captures metadata for the application that provided this data.

platform

DataSource.Platform

Output only. Captures the platform that uploaded the data.

Application

Optional metadata for the application that provided this data.

Fields
package_name

string

Output only. A unique identifier for the mobile application that was the source of the data.

This is typically the application's package name on Android (e.g., com.google.fitbit) or the bundle ID on iOS. This field is informational and helps trace data origin. This field is system-populated when the data is uploaded from the Fitbit mobile application, Health Connect or Health Kit.

web_client_id

string

Output only. The client ID of the application that recorded the data.

This ID is a legacy Fitbit API client ID, which is different from a Google OAuth client ID. Example format: ABC123. This field is system-populated and used for tracing data from legacy Fitbit API integrations. This field is system-populated when the data is uploaded from a legacy Fitbit API integration.

google_web_client_id

string

Output only. The Google OAuth 2.0 client ID of the web application or service that recorded the data.

This is the client ID used during the Google OAuth flow to obtain user credentials. This field is system-populated when the data is uploaded from Google Web API.

Device

Captures metadata about the device that recorded the measurement.

Fields
form_factor

DataSource.Device.FormFactor

Optional. Captures the form factor of the device.

manufacturer

string

Optional. An optional manufacturer of the device.

display_name

string

Optional. An optional name for the device.

FormFactor

Form factor of the device, e.g. phone, watch, band, etc.

Enums
FORM_FACTOR_UNSPECIFIED The form factor is unspecified.
FITNESS_BAND The device is a fitness band.
WATCH The device is a watch.
PHONE The device is a phone.
RING The device is a ring.
CHEST_STRAP The device is a chest strap.
SCALE The device is a scale.
TABLET The device is a tablet.
HEAD_MOUNTED The device is a head mounted device.
SMART_DISPLAY The device is a smart display.

Platform

The platform that uploaded the data. Additional values may be added in the future. Clients should be prepared to handle unknown values gracefully.

Enums
PLATFORM_UNSPECIFIED The platform is unspecified.
FITBIT The data was uploaded from Fitbit.
HEALTH_CONNECT The data was uploaded from Health Connect.
HEALTH_KIT The data was uploaded from Health Kit.
FIT The data was uploaded from Google Fit.
FITBIT_WEB_API The data was uploaded from Fitbit legacy Web API.
NEST The data was uploaded from Nest devices.
GOOGLE_WEB_API The data was uploaded from Google Health API.
GOOGLE_PARTNER_INTEGRATION The data was uploaded from Google Partner Integrations.

RecordingMethod

The method by which the data was recorded.

Enums
RECORDING_METHOD_UNSPECIFIED The recording method is unspecified.
MANUAL The data was manually entered by the user.
PASSIVELY_MEASURED The data was passively measured by a device.
DERIVED The data was derived from other data, e.g., by an algorithm in the backend.
ACTIVELY_MEASURED The data was actively measured by a device.
UNKNOWN The recording method is unknown. This is set when the data is uploaded from a third party app that does not provide this information.

DataType

Represents a type of health data a user can have data points recorded for. It matches the parent resource of collection containing data points of the given type.

Clients currently do not need to interact with this resource directly.

Fields
name

string

Identifier. The resource name of the data type.

Format: users/{user}/dataTypes/{data_type}

See DataPoint.name for examples and possible values.

DeleteSubscriberMetadata

This type has no fields.

Represents metadata for deleting a subscriber.

DeleteSubscriberRequest

Request message for DeleteSubscriber.

Fields
name

string

Required. The name of the subscriber to delete. Format: projects/{project}/subscribers/{subscriber} Example: projects/my-project/subscribers/my-subscriber-123 The {subscriber} ID is user-settable (4-36 characters, matching /a-z/) or system-generated if not provided during creation.

force

bool

Optional. If set to true, any child resources (e.g., subscriptions) will also be deleted. If false (default) and child resources exist, the request will fail.

DeleteSubscriptionRequest

Request message for DeleteSubscription.

Fields
name

string

Required. The resource name of the subscription to delete. Format: projects/{project}/subscribers/{subscriber}/subscriptions/{subscription} Example: projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456 The {subscriber} ID is user-settable (4-36 characters, matching /a-z/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 characters, matching /a-z/) or system-generated if not provided during creation.

Distance

Distance traveled over an interval of time.

Fields
interval

ObservationTimeInterval

Required. Observed interval.

millimeters

int64

Required. Distance in millimeters over the observed interval.

DistanceRollupValue

Result of the rollup of the user's distance.

Fields
millimeters_sum

int64

Sum of the distance in millimeters.

Electrocardiogram

Represents an Electrocardiogram (ECG) measurement session. This data type is based on SaMD feature and any changes to it may require additional review.

Fields
interval

SessionTimeInterval

Required. Observed interval.

NOTE: Historical ECG data lacks timezone offsets, so start_utc_offset and end_utc_offset will be missing or default to zero. As a result, the civil time fields within this interval will default to UTC. It is recommended to use physical time fields instead for accurate time referencing.

NOTE: The start_time and end_time of the interval are equal, representing the reading time.

result_classification

Electrocardiogram.ResultClassification

Optional. The result classification of the ECG reading.

waveform_samples[]

sint32

Optional. An array of voltage values representing lead I ECG values. Each sample represents voltage difference in ECG graph. The first value in array corresponds to the start of the reading.

medical_device_info

MedicalDeviceInfo

Output only. The meta information for the compatible device used to conduct the measurement.

ECG measurements typically populate firmware_version, feature_version, and device_model.

beats_per_minute_avg

int64

Optional. Average heart rate recorded during ECG reading in beats per minute.

sampling_frequency_hertz

int32

Optional. The sampling frequency of waveform samples in hertz.

millivolts_scaling_factor

int32

Optional. The factor by which to divide waveform samples to get voltage in millivolts: millivolts = waveform_sample / millivolts_scaling_factor.

lead_number

int32

Optional. The number of leads used for ECG reading.

ResultClassification

The classification of the ECG reading rhythm.

Enums
RESULT_CLASSIFICATION_UNSPECIFIED Unspecified result classification.
NORMAL_SINUS_RHYTHM Heart rhythm appears normal. Corresponds to result "Normal Sinus Rhythm".
ATRIAL_FIBRILLATION Signs of Atrial Fibrillation detected. Corresponds to result "Atrial Fibrillation".
INCONCLUSIVE The reading is inconclusive as it could not be classified. Corresponds to result "Inconclusive".
INCONCLUSIVE_HIGH_HEART_RATE The reading is inconclusive as it could not be classified because heart rate is high (>120bpm). Corresponds to result "Inconclusive: High heart rate".
INCONCLUSIVE_LOW_HEART_RATE The reading is inconclusive as it could not be classified because heart rate is low (<50bpm). Corresponds to result "Inconclusive: Low heart rate".
UNREADABLE The reading is unreadable.
NOT_ANALYZED The reading was not analyzed.

EndpointAuthorization

Authorization mechanism for a subscriber endpoint. For all requests sent by the Webhooks service, the JSON payload is cryptographically signed. The signature is delivered in the X-HEALTHAPI-SIGNATURE HTTP header. This is an ECDSA (NIST P256) signature of the JSON payload. Clients must verify this signature using Google Health API's public key to confirm the payload was sent by the Health API.

Fields
secret

string

Required. Input only. Provides a client-provided secret that will be sent with each notification to the subscriber endpoint using the "Authorization" header. The value must include the authorization scheme, e.g., "Bearer " or "Basic ", as it will be used as the full Authorization header value. This secret is used by the API to test the endpoint during CreateSubscriber and UpdateSubscriber calls, and will be sent in the Authorization header for all subsequent webhook notifications to this endpoint.

secret_set

bool

Output only. Whether the secret is set.

EnergyQuantity

Represents the energy quantity.

Fields
user_provided_unit

EnergyUnit

Optional. Value representing the user provided unit.

kcal

double

Required. Value representing the energy in kilocalories.

EnergyUnit

Enum representing the unit of energy.

Enums
ENERGY_UNIT_UNSPECIFIED Unspecified energy unit.
JOULE Value representing joule.
KILOJOULE Value representing kilojoule.
KILOCALORIE Value representing kilocalorie.
SMALL_CALORIE Value representing small calorie.
CALORIE Value representing calorie.

Exercise

An exercise that stores information about a physical activity.

Fields
interval

SessionTimeInterval

Required. Observed exercise interval

exercise_type

Exercise.ExerciseType

Required. The type of activity performed during an exercise.

splits[]

Exercise.SplitSummary

Optional. The default split is 1 km or 1 mile. - if the movement distance is less than the default, then there are no splits - if the movement distance is greater than or equal to the default, then we have splits

exercise_events[]

Exercise.ExerciseEvent

Optional. Exercise events that happen during an exercise, such as pause & restarts.

split_summaries[]

Exercise.SplitSummary

Optional. Laps or splits recorded within an exercise. Laps could be split based on distance or other criteria (duration, etc.) Laps should not be overlapping with each other.

metrics_summary

MetricsSummary

Required. Summary metrics for this exercise ( )

exercise_metadata

Exercise.ExerciseMetadata

Optional. Additional exercise metadata.

display_name

string

Required. Exercise display name.

active_duration

Duration

Optional. Duration excluding pauses.

notes

string

Optional. Standard free-form notes captured at manual logging.

update_time

Timestamp

Output only. This is the timestamp of the last update to the exercise.

create_time

Timestamp

Output only. Represents the timestamp of the creation of the exercise.

ExerciseEvent

Represents instantaneous events that happen during an exercise, such as start, stop, pause, split.

Fields
event_time

Timestamp

Required. Exercise event time

event_utc_offset

Duration

Required. Exercise event time offset from UTC

exercise_event_type

Exercise.ExerciseEvent.ExerciseEventType

Required. The type of the event, such as start, stop, pause, resume.

ExerciseEventType

The type of the event, such as start, stop, pause, resume.

Enums
EXERCISE_EVENT_TYPE_UNSPECIFIED Exercise event type is unspecified.
START Exercise start event.
STOP Exercise stop event.
PAUSE Exercise pause event.
RESUME Exercise resume event.
AUTO_PAUSE Exercise auto-pause event.
AUTO_RESUME Exercise auto-resume event.

ExerciseMetadata

Additional exercise metadata.

Fields
has_gps

bool

Optional. Whether the exercise had GPS tracking.

pool_length_millimeters

int64

Optional. Pool length in millimeters. Only present in the swimming exercises.

ExerciseType

The type of activity performed during an exercise.

Enums
EXERCISE_TYPE_UNSPECIFIED Exercise type is unspecified.
RUNNING Running type.
WALKING Walking type.
BIKING Biking type.
SWIMMING Swimming type.
HIKING Hiking type.
YOGA Yoga type.
PILATES Pilates type.
WORKOUT Workout type.
HIIT HIIT type.
WEIGHTLIFTING Weightlifting type.
STRENGTH_TRAINING Strength training type.
OTHER Other type.

SplitSummary

Represents splits or laps recorded within an exercise. Lap events partition a workout into segments based on criteria like distance, time, or calories.

Fields
start_time

Timestamp

Required. Lap start time

start_utc_offset

Duration

Required. Lap start time offset from UTC

end_time

Timestamp

Required. Lap end time

end_utc_offset

Duration

Required. Lap end time offset from UTC

active_duration

Duration

Output only. Lap time excluding the pauses.

metrics_summary

MetricsSummary

Required. Summary metrics for this split.

split_type

Exercise.SplitSummary.SplitType

Required. Method used to split the exercise laps. Users may manually mark the lap as complete even if the tracking is automatic.

SplitType

The type of the split, such as manual, duration, distance, calories.

Enums
SPLIT_TYPE_UNSPECIFIED Split type is unspecified.
MANUAL Manual split.
DURATION Split by duration.
DISTANCE Split by distance.
CALORIES Split by calories.

Floors

Gained elevation measured in floors over the time interval

Fields
interval

ObservationTimeInterval

Required. Observed interval

count

int64

Required. Number of floors in the recorded interval

FloorsRollupValue

Represents the result of the rollup of the user's floors.

Fields
count_sum

int64

Sum of the floors count.

Food

Represents a food item.

Fields
display_name

string

Required. The display name of the food.

brand

string

Optional. The brand of the food.

access_level

FoodAccessLevel

Required. The access level of the food.

description

string

Optional. The description of the food.

language_code

string

Optional. The language code where the food is available in format xx-XX. Supported values are defined in Settings.food_language_code.

meal_type

MealType

Optional. The meal type associated with this food.

nutrients[]

NutrientQuantity

Optional. Value representing the nutrients of the food for the default serving.

energy_from_fat

EnergyQuantity

Optional. Value representing the energy from fat of the food for the default serving.

total_carbohydrate

WeightQuantity

Optional. Value representing the total carbohydrate of the food for the default serving.

total_fat

WeightQuantity

Optional. Value representing the total fat of the food for the default serving.

energy_min

EnergyQuantity

Optional. Value representing the minimum energy of the food for the default serving.

energy_avg

EnergyQuantity

Optional. Value representing the average energy of the food for the default serving.

energy_max

EnergyQuantity

Optional. Value representing the maximum energy of the food for the default serving.

default_serving

Food.FoodServing

Required. Value representing the default serving of the food.

servings[]

Food.FoodServing

Optional. The serving of the food.

FoodServing

Represents different properties and information about the serving of a specific food.

Fields
food_measurement_unit

string

Required. Food measurement unit

food_measurement_unit_display_name

string

Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram").

food_measurement_unit_display_name_plural

string

Output only. Legacy measurement unit for serving size in plural form (e.g. "pieces", "grams").

multiplier

double

Optional. Value representing the multiplier used to compute the energy when using this serving instead of the default serving.

amount

double

Optional. Amount of food consumed, fractional values are supported.

FoodAccessLevel

Enum representing the access level of a food item.

Enums
FOOD_ACCESS_LEVEL_UNSPECIFIED Unspecified food access level.
FOOD_ACCESS_LEVEL_PUBLIC Public food access level.
FOOD_ACCESS_LEVEL_PRIVATE Private food access level.

FoodMeasurementUnit

Represents a food measurement unit.

Fields
display_name

string

Required. The display name of the food measurement unit (e.g., "gram", "piece").

plural_display_name

string

Optional. The plural display name of the food measurement unit (e.g., "grams", "pieces").

GetDataPointRequest

Request for getting a single data point

Fields
name

string

Required. The name of the data point to retrieve.

Format: users/{user}/dataTypes/{data_type}/dataPoints/{data_point}

See DataPoint.name for examples and possible values.

GetIdentityRequest

Request message for getting Identity details.

Fields
name

string

Required. The resource name of the Identity. Format: users/me/identity

GetIrnProfileRequest

Request message for getting IRN Profile details.

Fields
name

string

Required. The resource name of the IRN Profile. Format: users/{user}/irnProfile Example: users/1234567890/irnProfile or users/me/irnProfile The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal me can also be used to refer to the authenticated user.

GetPairedDeviceRequest

Request message for getting a Device.

Fields
name

string

Required. The name of the device to retrieve. Format: users/{user}/devices/{device}

GetProfileRequest

Request message for getting Profile details.

Fields
name

string

Required. The name of the Profile. Format: users/me/profile.

GetSettingsRequest

Request message for getting Settings details.

Fields
name

string

Required. The name of the Settings. Format: users/me/settings.

HeartRate

A heart rate measurement.

Fields
sample_time

ObservationSampleTime

Required. Observation time

metadata

HeartRate.HeartRateMetadata

Optional. Metadata about the heart rate sample.

beats_per_minute

int64

Required. The heart rate value in beats per minute.

HeartRateMetadata

Heart rate metadata.

Fields
motion_context

HeartRate.HeartRateMetadata.MotionContext

Optional. Indicates the user’s level of activity when the heart rate sample was measured

sensor_location

HeartRate.HeartRateMetadata.SensorLocation

Optional. Indicates the location of the sensor that measured the heart rate.

MotionContext

The user’s level of activity when the heart rate sample was measured.

Enums
MOTION_CONTEXT_UNSPECIFIED The default value when no data is available.
ACTIVE The user is active.
SEDENTARY The user is inactive.

SensorLocation

The location of the sensor that measured the heart rate.

Enums
SENSOR_LOCATION_UNSPECIFIED The default value when no data is available.
CHEST Chest sensor.
WRIST Wrist sensor.
FINGER Finger sensor.
HAND Hand sensor.
EAR_LOBE Ear lobe sensor.
FOOT Foot sensor.

HeartRateRollupValue

Represents the result of the rollup of the heart rate data type.

Fields
beats_per_minute_avg

double

The average heart rate value in the interval.

beats_per_minute_max

double

The maximum heart rate value in the interval.

beats_per_minute_min

double

The minimum heart rate value in the interval.

HeartRateVariability

Captures user's heart rate variability (HRV) as measured by the root mean square of successive differences (RMSSD) between normal heartbeats or by standard deviation of the inter-beat intervals (SDNN).

Fields
sample_time

ObservationSampleTime

Required. The time of the heart rate variability measurement.

root_mean_square_of_successive_differences_milliseconds

double

Optional. The root mean square of successive differences between normal heartbeats. This is a measure of heart rate variability used by Google Health.

standard_deviation_milliseconds

double

Optional. The standard deviation of the heart rate variability measurement.

HeartRateVariabilityPersonalRangeRollupValue

Represents the result of the rollup of the user's daily heart rate variability personal range.

Fields
average_heart_rate_variability_milliseconds_min

double

The lower bound of the user's average heart rate variability personal range.

average_heart_rate_variability_milliseconds_max

double

The upper bound of the user's average heart rate variability personal range.

HeartRateZoneType

The heart rate zone type.

Enums
HEART_RATE_ZONE_TYPE_UNSPECIFIED Unspecified heart rate zone.
LIGHT The light heart rate zone.
MODERATE The moderate heart rate zone.
VIGOROUS The vigorous heart rate zone.
PEAK The peak heart rate zone.

Height

Body height measurement.

Fields
sample_time

ObservationSampleTime

Required. The time at which the height was recorded.

height_millimeters

int64

Required. Height of the user in millimeters.

HydrationLog

Holds information about a user logged hydration.

Fields
interval

SessionTimeInterval

Required. Observed interval.

amount_consumed

VolumeQuantity

Required. Amount of liquid (ex. water) consumed.

HydrationLogRollupValue

Represents the result of the rollup of the hydration log data type.

Fields
amount_consumed

HydrationLogRollupValue.VolumeQuantityRollup

Rollup for amount consumed.

VolumeQuantityRollup

Rollup for volume quantity.

Fields
user_provided_unit_last

VolumeUnit

Optional. The user provided unit on the last element.

milliliters_sum

double

Required. The sum of volume in milliliters.

Identity

Represents details about the Google user's identity.

Fields
name

string

Identifier. The resource name of this Identity resource. Format: users/me/identity

legacy_user_id

string

Output only. The legacy Fitbit User identifier. This is the Fitbit ID used in the legacy Fitbit APIs (v1-v3). It can be referenced by clients migrating from the legacy Fitbit APIs to map their existing identifiers to the new Google user ID.

It must not be used for any other purpose. It is not of any use for new clients using only the Google Health APIs.

Valid values are strings of 1-63 characters, and valid characters are lowercase and uppercase letters, numbers, and hyphens.

health_user_id

string

Output only. The Google User Identifier in the Google Health APIs. It matches the {user} resource ID segment in the resource name paths, e.g. users/{user}/dataTypes/steps.

Valid values are strings of 1-63 characters, and valid characters are lowercase and uppercase letters, numbers, and hyphens.

IrnProfile

Irregular Rhythm Notifications (IRN) Profile details.

The Irregular Rhythm Notifications (IRN) feature checks for signs of atrial fibrillation (AFib). The IrnProfile details include information about the user's onboarding status, enrollment status, and the last update time of analyzable data for this feature.

Fields
name

string

Identifier. The resource name of this IrnProfile resource.

Format: users/{user}/irnProfile Example: users/1234567890/irnProfile or users/me/irnProfile The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal me can also be used to refer to the authenticated user.

onboarding_status

bool

Required. Whether or not the user has onboarded onto the IRN feature.

enrollment_status

bool

Required. Whether or not the user is currently enrolled in having their data processed for IRN alerts.

update_time

Timestamp

Output only. The timestamp of the last piece of analyzable data synced by the user.

IrregularRhythmNotification

Represents an Irregular Rhythm Notification alert, indicating a potential sign of atrial fibrillation (AFib). This data type is based on SaMD feature and any changes to it may require additional review.

Fields
interval

SessionTimeInterval

Required. Observed interval.

alert_windows[]

IrregularRhythmNotification.AlertWindow

Optional. The overlapping analysis windows that were used to evaluate rhythm for potential AFib, containing specific information about the user's heart rhythm.

medical_device_info

MedicalDeviceInfo

Output only. The meta information for the compatible device used to conduct the measurement.

Irregular Rhythm Notification measurements typically populate algorithm_version, service_version, and device_model.

AlertWindow

An analysis window evaluated for AFib.

Note: The current version of the algorithm will only produce alerts if all windows are positive. So anything returned from the API will always have the positive bit set to true. Internally, windows can be negative, however. We never save "inconclusive" windows (they aren't produced by the algorithm).

Fields
start_time

Timestamp

Required. Observed interval. The start time of the analysis window.

start_utc_offset

Duration

Required. The UTC offset of the user's timezone when the analysis window started.

end_time

Timestamp

Required. The end time of the analysis window.

end_utc_offset

Duration

Required. The UTC offset of the user's timezone when the analysis window ended.

civil_start_time

CivilDateTime

Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval

civil_end_time

CivilDateTime

Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval

positive

bool

Optional. Flag indicating whether the window was positive for AFib or not. A true value indicates that AFib was detected in this window. A false value means AFib was not detected, but does not guarantee the absence of AFib.

heart_beats[]

IrregularRhythmNotification.HeartBeat

Optional. All heart beats in the interval contained in this analysis window.

HeartBeat

A single heart beat measurement.

Fields
physical_time

Timestamp

Required. The time of the heart beat measurement.

utc_offset

Duration

Required. The UTC offset of the user's timezone when the heart beat measurement occurred.

civil_time

CivilDateTime

Output only. The civil time in the timezone the subject is in at the time of the observation.

beats_per_minute

int32

Required. The beats-per-minute value extrapolated from the time before the following heart beat. This is calculated as 60000 / rr, where rr is the gap between heart beats in milliseconds (IBI - Interbeat Interval).

ListDataPointsRequest

Request for listing raw data points

Fields
parent

string

Required. Parent data type of the Data Point collection.

Format: users/me/dataTypes/{data_type}, e.g.:

  • users/me/dataTypes/steps
  • users/me/dataTypes/weight

For a list of the supported data types see the DataPoint data union field.

page_size

int32

Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly. For exercise and sleep the default page size is 25. The maximum page size for exercise and sleep is 25.

page_token

string

Optional. The next_page_token from a previous request, if any.

filter

string

Optional. Filter expression following https://google.aip.dev/160.

A time range (either physical or civil) can be specified.

The supported filter fields are:

  • Interval start time:

    • Pattern: {interval_data_type}.interval.start_time
    • Supported comparison operators: >=, <
    • Timestamp literal expected in RFC-3339 format
    • Supported logical operators: AND
    • Example:
      • steps.interval.start_time >= "2023-11-24T00:00:00Z" AND steps.interval.start_time < "2023-11-25T00:00:00Z"
      • distance.interval.start_time >= "2024-08-14T12:34:56Z"
  • Interval civil start time:

    • Pattern: {interval_data_type}.interval.civil_start_time
    • Supported comparison operators: >=, <
    • Date with optional time literal expected in ISO 8601 YYYY-MM-DD[THH:mm:ss] format
    • Supported logical operators: AND
    • Example:
      • steps.interval.civil_start_time >= "2023-11-24" AND steps.interval.civil_start_time < "2023-11-25"
      • distance.interval.civil_start_time >= "2024-08-14T12:34:56"
  • Sample observation physical time:

    • Pattern: {sample_data_type}.sample_time.physical_time
    • Supported comparison operators: >=, <
    • Timestamp literal expected in RFC-3339 format
    • Supported logical operators: AND
    • Example:
      • weight.sample_time.physical_time >= "2023-11-24T00:00:00Z" AND weight.sample_time.physical_time < "2023-11-25T00:00:00Z"
      • weight.sample_time.physical_time >= "2024-08-14T12:34:56Z"
  • Sample observation civil time:

    • Pattern: {sample_data_type}.sample_time.civil_time
    • Supported comparison operators: >=, <
    • Date with optional time literal expected in ISO 8601 YYYY-MM-DD[THH:mm:ss] format
    • Supported logical operators: AND
    • Example:
    • weight.sample_time.civil_time >= "2023-11-24" AND weight.sample_time.civil_time < "2023-11-25"
    • weight.sample_time.civil_time >= "2024-08-14T12:34:56"
  • Daily summary date:

    • Pattern: {daily_summary_data_type}.date
    • Supported comparison operators: >=, <
    • Date literal expected in ISO 8601 YYYY-MM-DD format
    • Supported logical operators: AND
    • Example:
    • daily_heart_rate_variability.date < "2024-08-15"
  • Session civil start time (**Excluding Sleep and ECG**):

    • Pattern: {session_data_type}.interval.civil_start_time
    • Supported comparison operators: >=, <
    • Date with optional time literal expected in ISO 8601 YYYY-MM-DD[THH:mm:ss] format
    • Supported logical operators: AND
    • Example:
    • exercise.interval.civil_start_time >= "2023-11-24" AND exercise.interval.civil_start_time < "2023-11-25"
    • exercise.interval.civil_start_time >= "2024-08-14T12:34:56"
  • Session start time (**ECG specific**):

    • Pattern: electrocardiogram.interval.start_time
    • Supported comparison operators: >=
    • Timestamp literal expected in RFC-3339 format
    • Example:
      • electrocardiogram.interval.start_time >= "2024-08-14T12:34:56Z"
    • Note: Only filtering by start time is supported for ECG. Filtering by end time (e.g., electrocardiogram.interval.end_time) is not supported.
  • Session end time (**Sleep specific**):

    • Pattern: sleep.interval.end_time
    • Supported comparison operators: >=, <
    • Timestamp literal expected in RFC-3339 format
    • Supported logical operators: AND, OR
    • Example:
      • sleep.interval.end_time >= "2023-11-24T00:00:00Z" AND sleep.interval.end_time < "2023-11-25T00:00:00Z"
  • Session civil end time (**Sleep specific**):

    • Pattern: sleep.interval.civil_end_time
    • Supported comparison operators: >=, <
    • Date with optional time literal expected in ISO 8601 YYYY-MM-DD[THH:mm:ss] format
    • Supported logical operators: AND, OR
    • Example:
    • sleep.interval.civil_end_time >= "2023-11-24" AND sleep.interval.civil_end_time < "2023-11-25"

Data points in the response will be ordered by the interval start time in descending order.

ListDataPointsResponse

Response containing raw data points matching the query

Fields
data_points[]

DataPoint

Data points matching the query

next_page_token

string

Next page token, empty if the response is complete

ListPairedDevicesRequest

Request message for listing Devices.

Fields
parent

string

Required. The parent, which owns this collection of devices. Format: users/{user}

page_size

int32

Optional. The maximum number of devices to return. The service may return fewer than this value. If unspecified, at most 5 devices will be returned. The maximum value is 100. values above 100 will be coerced to 100.

page_token

string

Optional. A page token, received from a previous ListPairedDevices call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to ListPairedDevices must match the call that provided the page token.

ListPairedDevicesResponse

Response message for ListPairedDevices.

Fields
paired_devices[]

PairedDevice

The paired devices of the user.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListSubscribersRequest

Request message for ListSubscribers.

Fields
parent

string

Required. The parent, which owns this collection of subscribers. Format: projects/{project}

page_size

int32

Optional. The maximum number of subscribers to return. The service may return fewer than this value. If unspecified, at most 50 subscribers will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListSubscribers call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListSubscribers must match the call that provided the page token.

ListSubscribersResponse

Response message for ListSubscribers.

Fields
subscribers[]

Subscriber

Subscribers from the specified project.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

total_size

int32

The total number of subscribers matching the request.

ListSubscriptionsRequest

Request message for ListSubscriptions.

Fields
parent

string

Required. The parent subscriber. Format: projects/{project}/subscribers/{subscriber} The {subscriber} ID is user-settable (4-36 characters, matching /a-z/) if provided during creation, or system-generated otherwise.

filter

string

Optional. A filter to apply to the list of subscriptions. The filter syntax is described in https://google.aip.dev/160. The filter can be applied to the following fields: - user - data_type

The user identifier (e.g., user1 in users/user1) refers to the public healthUserId

Example: user = "users/user1" Example: user = "users/user1" OR user = "users/user2" Example: user = "users/user1" AND (data_type = "sleep" OR data_type = "weight")

page_size

int32

Optional. The maximum number of subscriptions to return. The service may return fewer than this value. If unspecified, at most 50 subscriptions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListSubscriptions call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListSubscriptions must match the call that provided the page token.

ListSubscriptionsResponse

Response message for ListSubscriptions.

Fields
subscriptions[]

Subscription

The subscriptions from the specified subscriber.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

MealType

Enum representing the meal type.

Enums
MEAL_TYPE_UNSPECIFIED Unspecified meal type.
BEFORE_BREAKFAST Value representing a meal before breakfast.
BREAKFAST Value representing a breakfast.
BEFORE_LUNCH Value representing a morning snack.
LUNCH Value representing a lunch.
BEFORE_DINNER Value representing an afternoon snack.
DINNER Value representing dinner.
AFTER_DINNER Value representing an evening snack.
SNACK Value representing any meal outside of the usual three meals per day.
ANYTIME Value representing any time (legacy NA).

MedicalDeviceInfo

Software as Medical Device (SaMD) metadata. Used to construct the Unique Device Identifier (UDI).

Fields
algorithm_version

string

Output only. The algorithm version used by the feature.

service_version

string

Output only. The service version used by the feature.

firmware_version

string

Output only. The firmware version running on the compatible device used to collect the data.

feature_version

string

Output only. The version of the feature/app running on the device.

device_model

string

Output only. The model name or device type of the compatible device used to collect the data.

MetricsSummary

Summary metrics for an exercise.

Fields
heart_rate_zone_durations

MetricsSummary.TimeInHeartRateZones

Optional. Time spent in each heart rate zone.

mobility_metrics

MetricsSummary.MobilityMetrics

Optional. Mobility workouts specific metrics. Only present in the advanced running exercises.

calories_kcal

double

Optional. Total calories burned by the user during the exercise.

distance_millimeters

double

Optional. Total distance covered by the user during the exercise.

steps

int64

Optional. Total steps taken during the exercise.

average_speed_millimeters_per_second

double

Optional. Average speed in millimeters per second.

average_pace_seconds_per_meter

double

Optional. Average pace in seconds per meter.

average_heart_rate_beats_per_minute

int64

Optional. Average heart rate during the exercise.

elevation_gain_millimeters

double

Optional. Total elevation gain during the exercise.

active_zone_minutes

int64

Optional. Total active zone minutes for the exercise.

run_vo2_max

double

Optional. Run VO2 max value for the exercise. Only present in the running exercises at the top level as in the summary of the whole exercise.

total_swim_lengths

double

Optional. Number of full pool lengths completed during the exercise. Only present in the swimming exercises at the top level as in the summary of the whole exercise.

MobilityMetrics

Mobility workouts specific metrics

Fields
avg_ground_contact_time_duration

Duration

Optional. The ground contact time for a particular stride is the amount of time for which the foot was in contact with the ground on that stride

avg_cadence_steps_per_minute

double

Optional. Cadence is a measure of the frequency of your foot strikes. Steps / min in real time during workout.

avg_stride_length_millimeters

int64

Optional. Stride length is a measure of the distance covered by a single stride

avg_vertical_oscillation_millimeters

int64

Optional. Distance off the ground your center of mass moves with each stride while running

avg_vertical_ratio

double

Optional. Vertical oscillation/stride length between [5.0, 11.0].

TimeInHeartRateZones

Time spent in each heart rate zone.

Fields
light_time

Duration

Optional. Time spent in light heart rate zone.

moderate_time

Duration

Optional. Time spent in moderate heart rate zone.

vigorous_time

Duration

Optional. Time spent in vigorous heart rate zone.

peak_time

Duration

Optional. Time spent in peak heart rate zone.

Nutrient

Holds information about a user logged food.

Enums
NUTRIENT_UNSPECIFIED Unspecified nutrient.
BIOTIN Value representing biotin nutrient.
CAFFEINE Value representing caffeine nutrient.
CALCIUM Value representing calcium nutrient.
CHLORIDE Value representing chloride nutrient.
CARBOHYDRATES Value representing carbohydrates nutrient.
CHOLESTEROL Value representing cholesterol nutrient.
CHROMIUM Value representing chromium nutrient.
COPPER Value representing copper nutrient.
DIETARY_FIBER Value representing dietary fiber nutrient.
FOLIC_ACID Value representing folic acid nutrient.
IODINE Value representing iodine nutrient.
IRON Value representing iron nutrient.
MAGNESIUM Value representing magnesium nutrient.
MANGANESE Value representing manganese nutrient.
MOLYBDENUM Value representing molybdenum nutrient.
MONOUNSATURATED_FAT Value representing monounsaturated fat nutrient.
NIACIN Value representing niacin nutrient.
PANTOTHENIC_ACID Value representing pantothenic acid nutrient.
PHOSPHORUS Value representing phosphorus nutrient.
POLYUNSATURATED_FAT Value representing polyunsaturated fat nutrient.
POTASSIUM Value representing potassium nutrient.
PROTEIN Value representing protein nutrient.
RIBOFLAVIN Value representing riboflavin nutrient.
SATURATED_FAT Value representing saturated fat nutrient.
SELENIUM Value representing selenium nutrient.
SODIUM Value representing sodium nutrient.
SUGAR Value representing sugar nutrient.
THIAMIN Value representing thiamin nutrient.
TRANS_FAT Value representing trans fat nutrient.
UNSATURATED_FAT Value representing unsaturated fat nutrient.
VITAMIN_A Value representing vitamin A nutrient.
VITAMIN_B12 Value representing vitamin B12 nutrient.
VITAMIN_B6 Value representing vitamin B6 nutrient.
VITAMIN_C Value representing vitamin C nutrient.
VITAMIN_D Value representing vitamin D nutrient.
VITAMIN_E Value representing vitamin E nutrient.
VITAMIN_K Value representing vitamin K nutrient.
ZINC Value representing zinc nutrient.
FOLATE Value representing folate nutrient.

NutrientQuantity

Represents the quantity of a nutrient.

Fields
quantity

WeightQuantity

Required. Value representing the quantity of the nutrient.

nutrient

Nutrient

Required. Value representing the nutrient.

NutritionLog

Holds information about a user logged food.

There are two ways of creating a nutrition log based on the food type: 1. Identified food: Using the food field, which is a reference to a Food resource. In this case fields nutrients, energy, energy_from_fat, total_carbohydrate, total_fat, food_display_name will be populated based on the referenced food. 2. Anonymous food: Using the food_display_name field and setting the nutrients, energy, energy_from_fat, total_carbohydrate, total_fat fields manually.

The identified food is preferred over the anonymous food. Nutrition logs created from anonymous food are not be editable.

Fields
interval

SessionTimeInterval

Required. Observed interval.

nutrients[]

NutrientQuantity

Optional. Value representing the nutrients of the nutrition log.

energy

EnergyQuantity

Optional. Value representing the energy of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually.

energy_from_fat

EnergyQuantity

Optional. Value representing the energy from fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually.

total_carbohydrate

WeightQuantity

Optional. Value representing the total carbohydrate of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually.

total_fat

WeightQuantity

Optional. Value representing the total fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually.

meal_type

MealType

Optional. Value representing the meal type of the nutrition log.

serving

NutritionLog.Serving

Optional. Value representing the nutrition log serving.

food

string

Required. Represents the food ID.

food_display_name

string

Value representing the display name of the food. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually.

Serving

Represents different properties and information about the serving of a specific food.

Fields
food_measurement_unit

string

Required. Food measurement unit

food_measurement_unit_display_name

string

Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram").

amount

double

Optional. Amount of food consumed, fractional values are supported.

NutritionLogRollupValue

Represents the result of the rollup of the nutrition log data type.

Fields
nutrients[]

NutritionLogRollupValue.NutrientQuantityRollup

List of the nutrient roll-ups by the nutrient type.

energy

NutritionLogRollupValue.EnergyQuantityRollup

Energy rollup.

energy_from_fat

NutritionLogRollupValue.EnergyQuantityRollup

Value Energy from fat rollup.

total_carbohydrate

NutritionLogRollupValue.WeightQuantityRollup

Total carbohydrate rollup.

total_fat

NutritionLogRollupValue.WeightQuantityRollup

Total fat rollup.

EnergyQuantityRollup

Rollup for the energy quantity.

Fields
user_provided_unit_last

EnergyUnit

Optional. The user provided unit on the last element.

kcal_sum

double

Required. The sum of the energy in kilocalories.

NutrientQuantityRollup

Nutrient quantity rollup.

Fields
quantity

NutritionLogRollupValue.WeightQuantityRollup

Required. Aggregated nutrient weight.

nutrient

Nutrient

Required. Aggregated nutrient.

WeightQuantityRollup

Rollup for the weight.

Fields
user_provided_unit_last

WeightUnit

Optional. The user provided unit on the last element.

grams_sum

double

Required. The sum of the weight in grams.

ObservationSampleTime

Represents a sample time of an observed data point.

Fields
physical_time

Timestamp

Required. The time of the observation.

utc_offset

Duration

Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC).

civil_time

CivilDateTime

Output only. The civil time in the timezone the subject is in at the time of the observation.

ObservationTimeInterval

Represents a time interval of an observed data point.

Fields
start_time

Timestamp

Required. Observed interval start time.

start_utc_offset

Duration

Required. The offset of the user's local time at the start of the observation relative to the Coordinated Universal Time (UTC).

end_time

Timestamp

Required. Observed interval end time.

end_utc_offset

Duration

Required. The offset of the user's local time at the end of the observation relative to the Coordinated Universal Time (UTC).

civil_start_time

CivilDateTime

Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval

civil_end_time

CivilDateTime

Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval

OxygenSaturation

Captures the user's instantaneous oxygen saturation percentage (SpO2).

Fields
sample_time

ObservationSampleTime

Required. The time at which oxygen saturation was measured.

percentage

double

Required. The oxygen saturation percentage. Valid values are from 0 to 100.

PairedDevice

User's Paired 1P Device

The PairedDevice details include information about the device type, battery status, battery level, last sync time, device version, mac address, and features.

Fields
name

string

Identifier. The resource name of this Device resource.

Format: users/{user}/pairedDevices/{paired_device} Example: users/1234567890/pairedDevices/123 or users/me/pairedDevices/123

device_type

PairedDevice.DeviceType

Output only. The device type. Supported: TRACKER | SCALE

battery_status

string

Output only. The battery status of the device. Supported: High | Medium | Low | Empty

battery_level

int32

Output only. The battery level of the device.

last_sync_time

Timestamp

Output only. The time of last sync with the Fitbit mobile application.

device_version

string

Output only. The product name of the device

mac_address

string

Output only. Mac ID number of the device.

features[]

string

Output only. Lists of unique features supported by the device.

Comprehensive list of supported features:

Fitness Tracking

  • ACTIVE_MINUTES: Legacy active minutes.
  • AUTOSTRIDE: Automatic stride length calculation.
  • BIKE_ONBOARDING: Cycling UI support.
  • CALORIES: Daily burned calories.
  • DISTANCE: Daily distance tracking.
  • ELEVATION: Floors climbed.
  • INACTIVITY_ALERTS: Reminders to move.
  • SEDENTARY_TIME: Tracks inactive time.
  • STEPS: Daily steps.
  • SWIM: Swim tracking (laps/strokes).
  • AUTORUN: Automatic run detection.
  • ACTIVE_ZONE_MINUTES: Active Zone Minutes (AZM).

Heart Rate & Health

  • HEART_RATE: Continuous heart rate (PPG).
  • BAT_SIGNAL: High/Low Heart Rate Alerts.

Advanced Sensors

  • SPO2: Blood oxygen saturation.
  • NIGHTTIME_OXYGEN_SATURATION: Sleep SpO2.
  • ESTIMATED_OXYGEN_VARIATION: Estimated Oxygen Variation.
  • EDA: Electrodermal Activity (stress).
  • SKIN_TEMPERATURE: Skin temperature variation.
  • INTERNAL_DEVICE_TEMPERATURE: Internal device temperature.

Sleep & Wellness

  • SLEEP: Basic sleep tracking.
  • SMART_SLEEP: Advanced sleep tracking (stages/score).
  • BEDTIME_REMINDER: Bedtime reminders.
  • SOUNDSCAPE: Snore and noise detection.

Advanced Workouts

  • WB: Custom Workout Builder.
  • AUTOCUES: Auto Cues / Auto Lap.
  • DWR_RUN: Daily Run Recommendations.
  • ADVANCED_RUNNING: Advanced Running Dynamics (e.g., GCT, VO).

GPS & Location

  • GPS: Built-in GPS.
  • CONNECTED_GPS: Connected GPS (uses phone).
  • LOCATION_HINT: Location helper.

Payments & NFC

  • PAYMENTS: NFC payments (Fitbit Pay/Google Wallet).
  • FELICA: FeliCa support (Japan payments/transit).

Activity Detection

  • GROK: SmartTrack automatic activity detection.
  • RETRO_AR: Retroactive Activity Recognition prompts.

Smart Features & UI

  • ALARMS: Silent alarms.
  • BLE_MUSIC_CONTROL: BLE music control.
  • MUSIC: Direct music storage/control.
  • YOUTUBE_MUSIC_SUPPORTED: YouTube Music support.
  • GALLERY: App Gallery.
  • TUTORIAL_SUPPORTED: On-screen tutorials.
  • SMILEY_EMOTE: Legacy Zip face.
  • MOBILE_TO_DEVICE_DEEPLINK: Mobile to device settings deep link.
  • HIDE_GALLERY: Option to hide Gallery.
  • HIDE_GOAL_SELECTION: Option to hide goal selection.
  • DIGITAL_WARRANTY_SUPPORTED: Digital warranty display.
  • DIRECT_DEVICE_SETTINGS_SUPPORTED: Direct device settings management.

Gym HR Broadcasting

  • ASPEN_SUPPORTED: Broadcast HR to gym equipment.
  • ASPEN_REMOTE_UI_SUPPORTED: Remote UI for HR sharing.

Privacy & Security

  • FINITE_IMPROBABILITY: BLE Resolvable Private Address (RPA) privacy.
  • DOMAIN_KEY_SYNC: Domain key synchronization.

BLE Protocol

  • BONDING: Secure BLE bonding.
  • ADVERTISES_SERIAL: Advertises serial number.
  • STATUS_CHARACTERISTIC: BLE Status Characteristic.
  • TRACKER_CHANNEL_CHARACTERISTIC: BLE Tracker Channel Characteristic.
  • PING_CHARACTERISTIC: BLE Ping Characteristic.

Cellular & Wi-Fi

  • MOBILE_DATA: LTE cellular support.
  • SINGLE_AP_WIFI: Single AP Wi-Fi.
  • MULTI_AP_WIFI: Multi AP Wi-Fi.
  • WIFI_FWUP: Firmware updates over Wi-Fi.

Data Sync & Transfer

  • APP_SYNC: Background app sync.
  • LIVE_DATA: Real-time data streaming.
  • EVENT_BASED_SYNC_SUPPORTED: Event-based sync.
  • TIME_SERVICE: Time synchronization service.
  • REMOTE_FILE_PROVIDER: Remote file transfer.
  • DIRECT_COMMS_ALARMS: Direct communication for alarms.
  • DIRECT_COMMS_EXERCISE: Direct communication for exercise.
  • DIRECT_COMMS_BATTERY_ALERTS: Direct communication for battery alerts.

Google Integrations

  • PARROT_TREE_SUPPORTED: Find My Device support.

DeviceType

The type of device.

Enums
DEVICE_TYPE_UNSPECIFIED Device type is not specified.
TRACKER Device type is tracker.
SCALE Device type is scale.

Profile

Profile details.

Fields
name

string

Identifier. The resource name of this Profile resource.

Format: users/{user}/profile Example: users/1234567890/profile or users/me/profile The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal me can also be used to refer to the authenticated user.

age

int32

Optional. The age in years based on the user's birth date.

Updates to this field are currently not supported.

membership_start_date

Date

Output only. The date the user created their account.

Updates to this field are currently not supported.

user_configured_walking_stride_length_mm

int32

Optional. The user's user configured walking stride length, in millimeters.

The user must consent to one of the following access scopes to access this field:

- https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly - https://www.googleapis.com/auth/googlehealth.activity_and_fitness

user_configured_running_stride_length_mm

int32

Optional. The user's user configured running stride length, in millimeters.

The user must consent to one of the following access scopes to access this field:

- https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly - https://www.googleapis.com/auth/googlehealth.activity_and_fitness

auto_walking_stride_length_mm

int32

Output only. The automatically calculated walking stride length, in millimeters.

The user must consent to one of the following access scopes to access this field:

- https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly - https://www.googleapis.com/auth/googlehealth.activity_and_fitness

auto_running_stride_length_mm

int32

Output only. The automatically calculated running stride length, in millimeters.

The user must consent to one of the following access scopes to access this field:

- https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly - https://www.googleapis.com/auth/googlehealth.activity_and_fitness

ReconcileDataPointsRequest

Request to reconcile data points from multiple data sources.

Fields
parent

string

Required. Parent data type of the Data Point collection.

Format: users/me/dataTypes/{data_type}, e.g.:

  • users/me/dataTypes/steps
  • users/me/dataTypes/heart-rate

For a list of the supported data types see the DataPoint data union field.

page_size

int32

Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly. For exercise and sleep the default page size is 25. The maximum page size for exercise and sleep is 25.

page_token

string

Optional. The next_page_token from a previous request, if any.

filter

string

Optional. Filter expression based on https://aip.dev/160.

A time range, either physical or civil, can be specified. See the ListDataPointsRequest.filter for the supported fields and syntax.

data_source_family

string

Optional. The data source family name to reconcile.

If empty, data points from all data sources will be reconciled.

Format: users/me/dataSourceFamilies/{data_source_family}

The supported values are:

  • users/me/dataSourceFamilies/all-sources - default value
  • users/me/dataSourceFamilies/google-wearables - tracker devices
  • users/me/dataSourceFamilies/google-sources - Google first party sources

ReconcileDataPointsResponse

Response containing the list of reconciled DataPoints.

Fields
data_points[]

ReconciledDataPoint

Data points matching the query

next_page_token

string

Next page token, empty if the response is complete

ReconciledDataPoint

A reconciled computed or recorded metric.

Fields
data_point_name

string

Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty.

Format: users/{user}/dataTypes/{data_type}/dataPoints/{data_point}

Example: users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef

The {user} ID is a system-generated identifier, as described in Identity.health_user_id.

The {data_type} ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. total-calories for the total_calories field.

The {data_point} ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.

Union field data. Data type component in the name field will always correspond to the data field set. These messages represent the data payload for each data type and are embedded within the DataPoint resource. They are not standalone resources themselves. Unless otherwise noted, data types reconciliation algorithm will exclude data points that are identified as recorded by wearables in intervals when they were not actually worn. data can be only one of the following:
steps

Steps

Data for points in the steps interval data type collection.

floors

Floors

Data for points in the floors interval data type collection.

heart_rate

HeartRate

Data for points in the heart-rate sample data type collection.

sleep

Sleep

Data for points in the sleep session data type collection.

daily_resting_heart_rate

DailyRestingHeartRate

Data for points in the daily-resting-heart-rate daily data type collection.

daily_heart_rate_variability

DailyHeartRateVariability

Data for points in the daily-heart-rate-variability daily data type collection.

exercise

Exercise

Data for points in the exercise session data type collection.

weight

Weight

Data for points in the weight sample data type collection.

altitude

Altitude

Data for points in the altitude interval data type collection.

distance

Distance

Data for points in the distance interval data type collection.

body_fat

BodyFat

Data for points in the body-fat sample data type collection.

active_zone_minutes

ActiveZoneMinutes

Data for points in the active-zone-minutes interval data type collection, measured in minutes.

heart_rate_variability

HeartRateVariability

Data for points in the heart-rate-variability sample data type collection.

daily_sleep_temperature_derivations

DailySleepTemperatureDerivations

Data for points in the daily-sleep-temperature-derivations daily data type collection.

sedentary_period

SedentaryPeriod

Data for points in the sedentary-period interval data type collection.

run_vo2_max

RunVO2Max

Data for points in the run-vo2-max sample data type collection.

oxygen_saturation

OxygenSaturation

Data for points in the oxygen-saturation sample data type collection.

daily_oxygen_saturation

DailyOxygenSaturation

Data for points in the daily-oxygen-saturation daily data type collection.

activity_level

ActivityLevel

Data for points in the activity-level daily data type collection.

vo2_max

VO2Max

Data for points in the vo2-max sample data type collection.

daily_vo2_max

DailyVO2Max

Data for points in the daily-vo2-max daily data type collection.

nutrition_log

NutritionLog

Data for points in the nutrition-log session data type collection.

daily_heart_rate_zones

DailyHeartRateZones

Data for points in the daily-heart-rate-zones daily data type collection.

hydration_log

HydrationLog

Data for points in the hydration-log session data type collection.

time_in_heart_rate_zone

TimeInHeartRateZone

Data for points in the time-in-heart-rate-zone interval data type collection.

active_minutes

ActiveMinutes

Data for points in the active-minutes interval data type collection.

respiratory_rate_sleep_summary

RespiratoryRateSleepSummary

Data for points in the respiratory-rate-sleep-summary sample data type collection.

daily_respiratory_rate

DailyRespiratoryRate

Data for points in the daily-respiratory-rate daily data type collection.

swim_lengths_data

SwimLengthsData

Data for points in the swim-lengths-data interval data type collection.

height

Height

Data for points in the height sample data type collection.

core_body_temperature

CoreBodyTemperature

Data for points in the core-body-temperature sample data type collection.

active_energy_burned

ActiveEnergyBurned

Data for points in the active-energy-burned interval data type collection.

RespiratoryRateSleepSummary

Records respiratory rate details during sleep. Can have multiple per day if the user sleeps multiple times.

Fields
sample_time

ObservationSampleTime

Required. The time at which respiratory rate was measured.

deep_sleep_stats

RespiratoryRateSleepSummary.RespiratoryRateSleepSummaryStatistics

Optional. Respiratory rate statistics for deep sleep.

light_sleep_stats

RespiratoryRateSleepSummary.RespiratoryRateSleepSummaryStatistics

Optional. Respiratory rate statistics for light sleep.

rem_sleep_stats

RespiratoryRateSleepSummary.RespiratoryRateSleepSummaryStatistics

Optional. Respiratory rate statistics for REM sleep.

full_sleep_stats

RespiratoryRateSleepSummary.RespiratoryRateSleepSummaryStatistics

Required. Full respiratory rate statistics.

RespiratoryRateSleepSummaryStatistics

Respiratory rate statistics for a given sleep stage.

Fields
breaths_per_minute

double

Required. Average breaths per minute.

standard_deviation

double

Optional. Standard deviation of the respiratory rate during sleep.

signal_to_noise

double

Optional. How trustworthy the data is for the computation.

RestingHeartRatePersonalRangeRollupValue

Represents the rollup value for the daily resting heart rate data type.

Fields
beats_per_minute_min

double

The lower bound of the user's daily resting heart rate personal range.

beats_per_minute_max

double

The upper bound of the user's daily resting heart rate personal range.

RollUpDataPointsRequest

Request to roll up data points by physical time intervals.

Fields
parent

string

Required. Parent data type of the Data Point collection.

Format: users/{user}/dataTypes/{data_type}, e.g.:

  • users/me/dataTypes/steps
  • users/me/dataTypes/distance

For a list of the supported data types see the RollupDataPoint value union field.

range

Interval

Required. Closed-open range of data points that will be rolled up. The maximum range for calories-in-heart-rate-zone, heart-rate, active-minutes and total-calories is 14 days. The maximum range for all other data types is 90 days.

window_size

Duration

Required. The size of the time window to group data points into before applying the aggregation functions.

page_size

int32

Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly.

page_token

string

Optional. The next_page_token from a previous request, if any. All other request fields need to be the same as in the initial request when the page token is specified.

data_source_family

string

Optional. The data source family name to roll up.

If empty, data points from all available data sources will be rolled up.

Format: users/me/dataSourceFamilies/{data_source_family}

The supported values are:

  • users/me/dataSourceFamilies/all-sources - default value
  • users/me/dataSourceFamilies/google-wearables - tracker devices
  • users/me/dataSourceFamilies/google-sources - Google first party sources

RollUpDataPointsResponse

Response containing the list of rolled up data points.

Fields
rollup_data_points[]

RollupDataPoint

Values for each aggregation time window.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

RollupDataPoint

Value of a rollup for a single physical time interval (aggregation window) of reconciled data points from all data sources, excluding those data points that are identified as recorded by wearables in intervals when they were not actually worn.

Fields
start_time

Timestamp

Start time of the window this value aggregates over

end_time

Timestamp

End time of the window this value aggregates over

Union field value. Outcome of a rollup of the requested data type.

{DataType}RollupValue messages for each data type contain aggregated values for all supported fields.

The field names usually follow the format {original_field_name}_{aggregation_function}. For example: confidence_min, confidence_sum.

If there were no manual, on-wrist data points in this interval, the value will not be set. When the value is set, but the data shows zero, e.g. steps.count_sum = 0, it means that a device was worn but it did not record any data points for this data type.

These messages represent the aggregated data payload for each data type and are embedded within the RollupDataPoint. They are not standalone resources themselves. value can be only one of the following:

steps

StepsRollupValue

Returned by default when rolling up data points from the steps data type, or when requested explicitly using the steps rollup type identifier.

floors

FloorsRollupValue

Returned by default when rolling up data points from the floors data type, or when requested explicitly using the floors rollup type identifier.

heart_rate

HeartRateRollupValue

Returned by default when rolling up data points from the heart-rate data type, or when requested explicitly using the heart-rate rollup type identifier.

weight

WeightRollupValue

Returned by default when rolling up data points from the weight data type, or when requested explicitly using the weight rollup type identifier.

altitude

AltitudeRollupValue

Returned by default when rolling up data points from the altitude data type, or when requested explicitly using the altitude rollup type identifier.

distance

DistanceRollupValue

Returned by default when rolling up data points from the distance data type, or when requested explicitly using the distance rollup type identifier.

body_fat

BodyFatRollupValue

Returned by default when rolling up data points from the body-fat data type, or when requested explicitly using the body-fat rollup type identifier.

total_calories

TotalCaloriesRollupValue

Returned by default when rolling up data points from the total-calories data type, or when requested explicitly using the total-calories rollup type identifier.

active_zone_minutes

ActiveZoneMinutesRollupValue

Returned by default when rolling up data points from the active-zone-minutes data type, or when requested explicitly using the active-zone-minutes rollup type identifier.

sedentary_period

SedentaryPeriodRollupValue

Returned by default when rolling up data points from the sedentary-period data type, or when requested explicitly using the sedentary-period rollup type identifier.

run_vo2_max

RunVO2MaxRollupValue

Returned by default when rolling up data points from the run-vo2-max data type, or when requested explicitly using the run-vo2-max rollup type identifier.

calories_in_heart_rate_zone

CaloriesInHeartRateZoneRollupValue

Returned by default when rolling up data points from the calories-in-heart-rate-zone data type, or when requested explicitly using the calories-in-heart-rate-zone rollup type identifier.

activity_level

ActivityLevelRollupValue

Returned by default when rolling up data points from the activity-level data type, or when requested explicitly using the activity-level rollup type identifier.

nutrition_log

NutritionLogRollupValue

Returned by default when rolling up data points from the nutrition-log data type, or when requested explicitly using the nutrition-log rollup type identifier.

hydration_log

HydrationLogRollupValue

Returned by default when rolling up data points from the hydration-log data type, or when requested explicitly using the hydration-log rollup type identifier.

time_in_heart_rate_zone

TimeInHeartRateZoneRollupValue

Returned by default when rolling up data points from the time-in-heart-rate-zone data type, or when requested explicitly using the time-in-heart-rate-zone rollup type identifier.

active_minutes

ActiveMinutesRollupValue

Returned by default when rolling up data points from the active-minutes data type, or when requested explicitly using the active-minutes rollup type identifier.

swim_lengths_data

SwimLengthsDataRollupValue

Returned by default when rolling up data points from the swim-lengths-data data type, or when requested explicitly using the swim-lengths-data rollup type identifier.

core_body_temperature

CoreBodyTemperatureRollupValue

Returned by default when rolling up data points from the core-body-temperature data type, or when requested explicitly using the core-body-temperature rollup type identifier.

active_energy_burned

ActiveEnergyBurnedRollupValue

Returned by default when rolling up data points from the active-energy-burned data type.

blood_glucose

BloodGlucoseRollupValue

Returned by default when rolling up data points from the blood-glucose data type.

RunVO2Max

VO2 max value calculated based on the user's running activity. Value stored in ml/kg/min.

Fields
sample_time

ObservationSampleTime

Required. The time at which the metric was measured.

run_vo2_max

double

Required. Run VO2 max value in ml/kg/min.

RunVO2MaxRollupValue

Represents the result of the rollup of the user's daily heart rate variability personal range.

Fields
rate_min

double

Minimum value of run VO2 max in the interval..

rate_max

double

Maximum value of run VO2 max in the interval.

rate_avg

double

Average value of run VO2 max in the interval.

SedentaryPeriod

SedentaryPeriod

SedentaryPeriod data represents the periods of time that the user was sedentary (i.e. not moving while wearing the device).

Fields
interval

ObservationTimeInterval

Required. Observed interval.

SedentaryPeriodRollupValue

Represents the result of the rollup of the user's sedentary periods.

Fields
duration_sum

Duration

The total time user spent sedentary during the interval.

SessionTimeInterval

Represents a time interval of session data point, which bundles multiple observed metrics together.

Fields
start_time

Timestamp

Required. The start time of the observed session.

start_utc_offset

Duration

Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC).

end_time

Timestamp

Required. The end time of the observed session.

end_utc_offset

Duration

Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC).

civil_start_time

CivilDateTime

Output only. Session start time in civil time in the timezone the subject is in at the start of the session.

civil_end_time

CivilDateTime

Output only. Session end time in civil time in the timezone the subject is in at the end of the session.

Settings

Settings details.

Fields
name

string

Identifier. The resource name of this Settings resource.

Format: users/{user}/settings Example: users/1234567890/settings or users/me/settings The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal me can also be used to refer to the authenticated user.

auto_stride_enabled

bool

Optional. True if the user's stride length is determined automatically.

Updates to this field are currently not supported.

distance_unit

Settings.DistanceUnit

Optional. The measurement unit defined in the user's account settings.

Updates to this field are currently not supported.

glucose_unit

Settings.GlucoseUnit

Optional. The measurement unit defined in the user's account settings.

height_unit

Settings.HeightUnit

Optional. The measurement unit defined in the user's account settings.

language_locale

string

Optional. The locale defined in the user's account settings.

Updates to this field are currently not supported.

utc_offset

Duration

Optional. The user's timezone offset relative to UTC.

Updates to this field are currently not supported.

stride_length_walking_type

Settings.StrideLengthType

Optional. The stride length type defined in the user's account settings for walking.

Updates to this field are currently not supported.

stride_length_running_type

Settings.StrideLengthType

Optional. The stride length type defined in the user's account settings for running.

Updates to this field are currently not supported.

swim_unit

Settings.SwimUnit

Optional. The measurement unit defined in the user's account settings.

temperature_unit

Settings.TemperatureUnit

Optional. The measurement unit defined in the user's account settings.

time_zone

string

Optional. The timezone defined in the user's account settings. This follows the IANA Time Zone Database.

Updates to this field are currently not supported.

weight_unit

Settings.WeightUnit

Optional. The measurement unit defined in the user's account settings.

water_unit

Settings.WaterUnit

Optional. The measurement unit defined in the user's account settings.

food_language_code

string

Output only. The food language code derived from the user's food database. Possible values: 'en-US', 'en-GB', 'de-DE', 'es-ES', 'fr-FR', 'zh-CN', 'zh-TW', 'ja-JP', 'en-AU', 'en-CA', 'it-IT', 'ko-KR', 'es-MX', 'en-IN', 'en-SG', 'en-PH', 'en-IE', 'fr-CA'.

Updates to this field are currently not supported.

DistanceUnit

The measurement unit defined in the user's account settings.

Enums
DISTANCE_UNIT_UNSPECIFIED Distance unit is not specified.
DISTANCE_UNIT_MILES Distance unit is miles.
DISTANCE_UNIT_KILOMETERS Distance unit is kilometers.

GlucoseUnit

The measurement unit defined in the user's account settings.

Enums
GLUCOSE_UNIT_UNSPECIFIED Glucose unit is not specified.
GLUCOSE_UNIT_MG_DL Glucose unit is mg/dL.
GLUCOSE_UNIT_MMOL_L Glucose unit is mmol/l.

HeightUnit

The measurement unit defined in the user's account settings.

Enums
HEIGHT_UNIT_UNSPECIFIED Height unit is not specified.
HEIGHT_UNIT_INCHES Height unit is inches.
HEIGHT_UNIT_CENTIMETERS Height unit is cm.

StrideLengthType

The stride length type defined in the user's account settings. Specifies if the user's stride length is determined automatically (default) or manually as defined in the user's account settings.

Enums
STRIDE_LENGTH_TYPE_UNSPECIFIED Stride length type is not specified.
STRIDE_LENGTH_TYPE_DEFAULT Stride length type is computed based on the user's gender and height.
STRIDE_LENGTH_TYPE_MANUAL Stride length type is manually set by the user.
STRIDE_LENGTH_TYPE_AUTO Stride length type is determined automatically.

SwimUnit

The swim unit defined in the user's account settings.

Enums
SWIM_UNIT_UNSPECIFIED Swim unit is not specified.
SWIM_UNIT_METERS Swim unit is meters.
SWIM_UNIT_YARDS Swim unit is yards.

TemperatureUnit

The measurement unit defined in the user's account settings.

Enums
TEMPERATURE_UNIT_UNSPECIFIED Temperature unit is not specified.
TEMPERATURE_UNIT_CELSIUS Temperature unit is Celsius.
TEMPERATURE_UNIT_FAHRENHEIT Temperature unit is Fahrenheit.

WaterUnit

The water measurement unit defined in the user's account settings.

Enums
WATER_UNIT_UNSPECIFIED Water unit is not specified.
WATER_UNIT_ML Water unit is milliliters.
WATER_UNIT_FL_OZ Water unit is fluid ounces.
WATER_UNIT_CUP Water unit is cups.

WeightUnit

The measurement unit defined in the user's account settings.

Enums
WEIGHT_UNIT_UNSPECIFIED Weight unit is not specified.
WEIGHT_UNIT_POUNDS Weight unit is pounds.
WEIGHT_UNIT_STONE Weight unit is stones.
WEIGHT_UNIT_KILOGRAMS Weight unit is kilograms.

Sleep

A sleep session possibly including stages.

Fields
interval

SessionTimeInterval

Required. Observed sleep interval.

type

Sleep.SleepType

Optional. SleepType: classic or stages.

stages[]

Sleep.SleepStage

Optional. List of non-overlapping contiguous sleep stage segments that cover the sleep period.

out_of_bed_segments[]

Sleep.OutOfBedSegment

Optional. “Out of bed” segments that can overlap with sleep stages.

metadata

Sleep.SleepMetadata

Optional. Sleep metadata: processing, main, manually edited, stages status.

summary

Sleep.SleepSummary

Output only. Sleep summary: metrics and stages summary.

create_time

Timestamp

Output only. Creation time of this sleep observation.

update_time

Timestamp

Output only. Last update time of this sleep observation.

OutOfBedSegment

A time interval to represent an out-of-bed segment.

Fields
start_time

Timestamp

Required. Segment tart time.

start_utc_offset

Duration

Required. The offset of the user's local time at the start of the segment relative to the Coordinated Universal Time (UTC).

end_time

Timestamp

Required. Segment end time.

end_utc_offset

Duration

Required. The offset of the user's local time at the end of the segment relative to the Coordinated Universal Time (UTC).

SleepMetadata

Additional information about how the sleep was processed.

Fields
stages_status

Sleep.SleepMetadata.StagesState

Output only. Sleep stages algorithm processing status.

processed

bool

Output only. Sleep and sleep stages algorithms finished processing.

nap

bool

Output only. Naps are sleeps without stages and relatively short durations.

manually_edited

bool

Output only. Some sleeps autodetected by algorithms can be manually edited by users.

external_id

string

Optional. Sleep identifier relevant in the context of the data source.

StagesState

Sleep stages algorithm processing status.

Enums
STAGES_STATE_UNSPECIFIED Output only. Sleep stages status is unspecified.
REJECTED_COVERAGE Output only. Sleep stages cannot be computed due to low RR coverage.
REJECTED_MAX_GAP Output only. Sleep stages cannot be computed due to the large middle gap (2h).
REJECTED_START_GAP Output only. Sleep stages cannot be computed due to the large start gap (1h).
REJECTED_END_GAP Output only. Sleep stages cannot be computed due to the large end gap (1h).
REJECTED_NAP Output only. Sleep stages cannot be computed because the sleep log is a nap (has < 3h duration).
REJECTED_SERVER Output only. Sleep stages cannot be computed because input data is not available (PPGV2, wake magnitude, etc).
TIMEOUT Output only. Sleep stages cannot be computed due to server timeout.
SUCCEEDED Output only. Sleep stages successfully computed.
PROCESSING_INTERNAL_ERROR Output only. Sleep stages cannot be computed due to server internal error.

SleepStage

Sleep stage segment.

Fields
start_time

Timestamp

Required. Sleep stage start time.

start_utc_offset

Duration

Required. The offset of the user's local time at the start of the sleep stage relative to the Coordinated Universal Time (UTC).

end_time

Timestamp

Required. Sleep stage end time.

end_utc_offset

Duration

Required. The offset of the user's local time at the end of the sleep stage relative to the Coordinated Universal Time (UTC).

type

Sleep.SleepStageType

Required. Sleep stage type: AWAKE, DEEP, REM, LIGHT etc.

create_time

Timestamp

Output only. Creation time of this sleep stages segment.

update_time

Timestamp

Output only. Last update time of this sleep stages segment.

SleepStageType

Sleep stage type: AWAKE, DEEP, REM, LIGHT etc.

Enums
SLEEP_STAGE_TYPE_UNSPECIFIED The default unset value.
AWAKE Sleep stage AWAKE.
LIGHT Sleep stage LIGHT.
DEEP Sleep stage DEEP.
REM Sleep stage REM.
ASLEEP Sleep stage ASLEEP.
RESTLESS Sleep stage RESTLESS.

SleepSummary

Sleep summary: metrics and stages summary.

Fields
stages_summary[]

Sleep.SleepSummary.StageSummary

Output only. List of summaries (total duration and segment count) per each sleep stage type.

minutes_in_sleep_period

int64

Output only. Delta between wake time and bedtime. It is the sum of all stages.

minutes_after_wake_up

int64

Output only. Minutes after wake up calculated by restlessness algorithm.

minutes_to_fall_asleep

int64

Output only. Minutes to fall asleep calculated by restlessness algorithm.

minutes_asleep

int64

Output only. Total number of minutes asleep. For classic sleep it is the sum of ASLEEP stages (excluding AWAKE and RESTLESS). For "stages" sleep it is the sum of LIGHT, REM and DEEP stages (excluding AWAKE).

minutes_awake

int64

Output only. Total number of minutes awake. It is a sum of all AWAKE stages.

StageSummary

Total duration and segment count for a stage.

Fields
type

Sleep.SleepStageType

Output only. Sleep stage type: AWAKE, DEEP, REM, LIGHT etc.

minutes

int64

Output only. Total duration in minutes of a sleep stage.

count

int64

Output only. Number of sleep stages segments.

SleepType

Sleep type: classic or stages.

Enums
SLEEP_TYPE_UNSPECIFIED Sleep type is unspecified.
CLASSIC Classic sleep is a sleep with 3 stages types: AWAKE, RESTLESS and ASLEEP.
STAGES On top of "classic" sleep stages an additional processing pass can calculate stages more precisely, overwriting the prior stages with AWAKE, LIGHT, REM and DEEP.

Steps

Step count over the time interval.

Fields
interval

ObservationTimeInterval

Required. Observed interval.

count

int64

Required. Number of steps in the recorded interval.

StepsRollupValue

Represents the result of the rollup of the steps data type.

Fields
count_sum

int64

Total number of steps in the interval.

Subscriber

-- Resource Messages -- A subscriber receives notifications from Google Health API.

Fields
name

string

Identifier. The resource name of the Subscriber. Format: projects/{project}/subscribers/{subscriber} The {project} ID is a Google Cloud Project ID or Project Number. The {subscriber} ID is user-settable (4-36 characters, matching /a-z/) if provided during creation, or system-generated otherwise (e.g., a UUID). Example (User-settable subscriber ID): projects/my-project/subscribers/my-sub-123 Example (System-generated subscriber ID): projects/my-project/subscribers/a1b2c3d4-e5f6-7890-1234-567890abcdef

endpoint_uri

string

Required. The full HTTPS URI where update notifications will be sent. The URI must be a valid URL and use HTTPS as the scheme. This endpoint will be verified during CreateSubscriber and UpdateSubscriber calls. See RPC documentation for verification details.

create_time

Timestamp

Output only. The time at which the subscriber was created.

update_time

Timestamp

Output only. The time at which the subscriber was last updated.

subscriber_configs[]

SubscriberConfig

Optional. Configuration for the subscriber.

endpoint_authorization

EndpointAuthorization

Required. Authorization mechanism for a subscriber endpoint. This is required to ensure the endpoint can be verified.

state

Subscriber.State

Output only. The state of the subscriber.

State

The state of the subscriber.

Enums
STATE_UNSPECIFIED Represents an unspecified subscriber state.
UNVERIFIED Represents an unverified subscriber. This is the initial state of the subscriber when it is created. The backend will verify the subscriber's endpoint_uri.
ACTIVE Represents an active subscriber. The endpoint has been verified.
INACTIVE Represents an inactive subscriber.

SubscriberConfig

Configuration for a subscriber. A notification is sent to a subscription ONLY if the subscriber has a config for the data type.

Fields
data_types[]

string

Required. See Google Health API data types for the list of supported data types. Values should be in kebab-case.

subscription_create_policy

SubscriberConfig.SubscriptionCreatePolicy

Required. Policy for subscription creation.

SubscriptionCreatePolicy

Policy for subscription creation.

Enums
SUBSCRIPTION_CREATE_POLICY_UNSPECIFIED Represents an unspecified policy.
AUTOMATIC

When using AUTOMATIC, individual subscriptions are not created or stored. Instead, eligibility for notifications is computed dynamically. When a data update occurs for a given data type, notifications are sent to all subscribers with an AUTOMATIC policy for that data type, provided the user has granted the necessary consents.

This means you do not need to call CreateSubscription for each user; notifications are managed automatically based on user consents. As Subscription resources are not stored, they cannot be retrieved or managed through GetSubscription, ListSubscriptions, UpdateSubscription, or DeleteSubscription.

MANUAL Requires subscriptions to be created manually for new users. The developer needs to call CreateSubscription for new users.

Subscription

A subscription to a data collection for a specific user, to be delivered to a subscriber.

Fields
name

string

Identifier. The resource name of the Subscription. Format: projects/{project}/subscribers/{subscriber}/subscriptions/{subscription} Example: projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456 The {project} ID is mandatory (6-30 characters, matching /[a-z][a-z0-9-]{6,30}/) The {subscriber} ID is user-settable (4-36 characters, matching /a-z/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 chars, matching /a-z/) or system-generated otherwise.

data_types[]

string

Optional. Data types subscribed to. A subscriber will only receive notifications for data types that are declared here. A subscription can only subscribe to the data types of the subscriber. Supported data types are: "altitude", "distance", "floors", "sleep", "steps", "weight".

user

string

Immutable. The resource name of the user for whom this subscription is active. Format: users/{user} where {user} is the public healthUserId as returned by the GetIdentity action in the profile PAPI (see google.devicesandservices.health.v4main.HealthProfileService.GetIdentity).

SwimLengthsData

Swim lengths data over the time interval.

Fields
interval

ObservationTimeInterval

Required. Observed interval.

swim_stroke_type

SwimLengthsData.SwimStrokeType

Required. Swim stroke type.

stroke_count

int64

Required. Number of strokes in the lap.

SwimStrokeType

Swim stroke type.

Enums
SWIM_STROKE_TYPE_UNSPECIFIED Swim stroke type is unspecified.
FREESTYLE Freestyle swim stroke type.
BACKSTROKE Backstroke swim stroke type.
BREASTSTROKE Breaststroke swim stroke type.
BUTTERFLY Butterfly swim stroke type.

SwimLengthsDataRollupValue

Represents the result of the rollup of the swim lengths data type.

Fields
stroke_count_sum

int64

Total number of swim strokes in the interval.

TimeInHeartRateZone

Time in heart rate zone record. It's an interval spent in specific heart rate zone.

Fields
interval

ObservationTimeInterval

Required. Observed interval.

heart_rate_zone_type

HeartRateZoneType

Required. Heart rate zone type.

TimeInHeartRateZoneRollupValue

Represents the result of the rollup of the time in heart rate zone data type.

Fields
time_in_heart_rate_zones[]

TimeInHeartRateZoneRollupValue.TimeInHeartRateZoneValue

List of time spent in each heart rate zone.

TimeInHeartRateZoneValue

Represents the total time spent in a specific heart rate zone.

Fields
heart_rate_zone

HeartRateZoneType

The heart rate zone.

duration

Duration

The total time spent in the specified heart rate zone.

TotalCaloriesRollupValue

Represents the result of the rollup of the user's total calories.

Fields
kcal_sum

double

Sum of the total calories in kilocalories.

UpdateDataPointOperationMetadata

This type has no fields.

Metadata for an update data point operation.

UpdateDataPointRequest

Request to update an identifiable data point.

Fields
data_point

DataPoint

Required. The data point to update

The data point's name field is used to identify the data point to update.

Format: users/{user}/dataTypes/{data_type}/dataPoints/{data_point}

UpdateProfileRequest

Request message for updating Profile details.

Fields
profile

Profile

Required. Profile details.

update_mask

FieldMask

Optional. The list of fields to be updated.

UpdateSettingsRequest

Request message for updating Settings details.

Fields
settings

Settings

Required. Settings details

update_mask

FieldMask

Optional. The list of fields to be updated.

UpdateSubscriberMetadata

This type has no fields.

Represents metadata for updating a subscriber.

UpdateSubscriberRequest

Request message for UpdateSubscriber.

Fields
subscriber

Subscriber

Required. The subscriber resource to update. Its 'name' field is mapped to the URI, and the value of the 'name' field should be of the form: "projects/{project}/subscribers/{subscriber_id}". The remaining fields of the Subscriber object represent the new values for the corresponding fields in the existing subscriber resource.

update_mask

FieldMask

Optional. A field mask that specifies which fields of the Subscriber message are to be updated. This allows for partial updates. Supported fields: - endpoint_uri - subscriber_configs - endpoint_authorization

UpdateSubscriptionRequest

Request message for UpdateSubscription.

Fields
subscription

Subscription

Required. The subscription to update. The subscription's name field is used to identify the subscription to update. Format: projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}

update_mask

FieldMask

Optional. The list of fields to update.

VO2Max

VO2 max measurement.

Fields
sample_time

ObservationSampleTime

Required. The time at which VO2 max was measured.

measurement_method

VO2Max.MeasurementMethod

Optional. The method used to measure the VO2 max value.

vo2_max

double

Required. VO2 max value measured as in ml consumed oxygen / kg of body weight / min.

MeasurementMethod

Measurement method used to measure the VO2 max value.

Enums
MEASUREMENT_METHOD_UNSPECIFIED Unspecified measurement method.
FITBIT_RUN Fitbit specific, measures VO2 max rate during a run.
GOOGLE_DEMOGRAPHIC Google specific, measures VO2 max rate for a user based on their demographic data.
COOPER_TEST Run as far as possible for 12 minutes. Distance correlated with age and gender translates to a VO2 max value.
HEART_RATE_RATIO Maximum heart rate divided by the resting heart rate, with a multiplier applied. Does not require any exercise.
METABOLIC_CART Measured by a medical device called metabolic cart.
MULTISTAGE_FITNESS_TEST Continuous 20m back-and-forth runs with increasing difficulty, until exhaustion.
ROCKPORT_FITNESS_TEST Measured using walking exercise.
MAX_EXERCISE Healthkit specific, measures VO2 max rate by monitoring exercise to the user’s physical limit. Similar to COOPER_TEST or MULTISTAGE_FITNESS_TEST.
PREDICTION_SUB_MAX_EXERCISE Healthkit specific, estimates VO2 max rate based on low-intensity exercise. Similar to ROCKPORT_FITNESS_TEST.
PREDICTION_NON_EXERCISE Healthkit specific, estimates VO2 max rate without any exercise. Similar to HEART_RATE_RATIO.
OTHER Use when the method is not covered in this enum.

VolumeQuantity

Represents the volume quantity.

Fields
user_provided_unit

VolumeUnit

Optional. Value representing the user provided unit, used only for user-facing input and display purposes. In the API format, all volume quantities are converted to milliliters.

milliliters

double

Required. Value representing the volume in milliliters.

VolumeUnit

Enum representing the unit of volume.

Enums
VOLUME_UNIT_UNSPECIFIED Unspecified volume unit.
CUP_IMPERIAL Cup (imperial)
CUP_US Cup (US)
FLUID_OUNCE_IMPERIAL Fluid ounce (imperial)
FLUID_OUNCE_US Fluid ounce (US)
LITER Liter
MILLILITER Milliliter
PINT_IMPERIAL Pint (imperial)
PINT_US Pint (US)

WebhookNotificationCloudLog

Log message for a webhook notification sent by the Google Health API to a subscriber's endpoint. Includes the HTTP response received from the endpoint.

Fields
http_response

HttpResponse

Required. Represents the HTTP response. This message includes the status code, reason phrase, headers, and body.

Weight

Body weight measurement.

Fields
sample_time

ObservationSampleTime

Required. The time at which the weight was measured

notes

string

Optional. Standard free-form notes captured at manual logging.

weight_grams

double

Required. Weight of a user in grams.

WeightQuantity

Represents the weight quantity.

Fields
user_provided_unit

WeightUnit

Optional. Value representing the user provided unit.

grams

double

Required. Value representing the weight in grams.

WeightRollupValue

Represents the result of the rollup of the weight data type.

Fields
weight_grams_avg

double

Average weight in grams.

WeightUnit

Enum representing the unit of weight.

Enums
WEIGHT_UNIT_UNSPECIFIED Unspecified weight unit.
GRAM Value representing gram.
KILOGRAM Value representing kilogram.
OUNCE Value representing ounce.
POUND Value representing pound.
STONE Value representing stone.
MILLIGRAM Value representing milligram.
MICROGRAM Value representing microgram.
NANOGRAM Value representing nanogram.