- [HTTP request](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/reconcile#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/reconcile#body.PATH_PARAMETERS)
- [Query parameters](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/reconcile#body.QUERY_PARAMETERS)
- [Request body](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/reconcile#body.request_body)
- [Response body](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/reconcile#body.response_body)
  - [JSON representation](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/reconcile#body.ReconcileDataPointsResponse.SCHEMA_REPRESENTATION)
- [Authorization scopes](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/reconcile#body.aspect)
- [ReconciledDataPoint](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/reconcile#ReconciledDataPoint)
  - [JSON representation](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/reconcile#ReconciledDataPoint.SCHEMA_REPRESENTATION)
- [Examples](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/reconcile#examples)
- [Try it!](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/reconcile#try-it)

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

### HTTP request

`GET https://health.googleapis.com/v4/{parent=users/*/dataTypes/*}/dataPoints:reconcile`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax. To know more about valid error responses that can be thrown by this HTTP request, please refer to the [service error catalog](https://developers.google.com/health/reference/rest/v4/errors)

### Path parameters

| Parameters ||
|---|---|
| `parent` | `string` Required. Parent data type of the Data Point collection. Format: `users/me/dataTypes/{dataType}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/heart-rate` For a list of the supported data types see the `https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DataPoint` union field. It takes the form `users/{user}/dataTypes/{datatype}`. |

### Query parameters

| Parameters ||
|---|---|
| `pageSize` | `integer` 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. |
| `pageToken` | `string` Optional. The `nextPageToken` 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 `https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/list#body.QUERY_PARAMETERS.filter` for the supported fields and syntax. |
| `dataSourceFamily` | `string` Optional. The data source family name to reconcile. If empty, data points from all data sources will be reconciled. Format: `users/me/dataSourceFamilies/{dataSourceFamily}` - `users/me/dataSourceFamilies/all-sources` - Default value. Includes data from all available data sources. - `users/me/dataSourceFamilies/google-wearables` - Includes data from Google and Fitbit tracker devices (such as Fitbit trackers and Pixel Watch). Excludes manually logged data. - `users/me/dataSourceFamilies/google-sources` - Includes first-party Google data, such as data from tracker devices, manually logged data, and Health Connect. - `users/me/dataSourceFamilies/self-sources` - Includes only the data the calling client wrote through this API, that is, data points whose data source was registered through this API with the same OAuth client ID as the caller. Callers that were only granted write scopes for the requested data type may only read the data they wrote themselves: their requests are implicitly restricted to `self-sources`, and requesting any other data source family fails with `PERMISSION_DENIED`. If no data point matches the requested data source family, the response is an empty list rather than an error. |

### Request body

The request body must be empty.

### Response body

Response containing the list of reconciled DataPoints.

If successful, the response body contains data with the following structure:

| JSON representation |
|---|
| ``` { "dataPoints": [ { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/reconcile#ReconciledDataPoint`) } ], "nextPageToken": string } ``` |

| Fields ||
|---|---|
| `dataPoints[]` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/reconcile#ReconciledDataPoint`)`` Data points matching the query |
| `nextPageToken` | `string` Next page token, empty if the response is complete |

### 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.reproductive_health.readonly`
- `
  https://www.googleapis.com/auth/googlehealth.logged_symptoms.readonly`
- `
  https://www.googleapis.com/auth/googlehealth.mindfulness.readonly`
- `
  https://www.googleapis.com/auth/googlehealth.ecg.readonly`
- `
  https://www.googleapis.com/auth/googlehealth.irn.readonly`
- `
  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.nutrition.writeonly`
- `
  https://www.googleapis.com/auth/googlehealth.sleep.writeonly`
- `
  https://www.googleapis.com/auth/googlehealth.reproductive_health.writeonly`
- `
  https://www.googleapis.com/auth/googlehealth.logged_symptoms.writeonly`
- `
  https://www.googleapis.com/auth/googlehealth.mindfulness.writeonly`

For more information, see the [OAuth 2.0 Overview](https://developers.google.com/identity/protocols/OAuth2).

## ReconciledDataPoint

A reconciled computed or recorded metric.

| JSON representation |
|---|
| ``` { "dataPointName": string, // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "steps": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Steps`) }, "floors": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Floors`) }, "heartRate": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#HeartRate`) }, "sleep": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Sleep`) }, "dailyRestingHeartRate": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DailyRestingHeartRate`) }, "dailyHeartRateVariability": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DailyHeartRateVariability`) }, "exercise": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Exercise`) }, "weight": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Weight`) }, "altitude": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Altitude`) }, "distance": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Distance`) }, "bodyFat": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#BodyFat`) }, "activeZoneMinutes": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#ActiveZoneMinutes`) }, "heartRateVariability": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#HeartRateVariability`) }, "dailySleepTemperatureDerivations": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DailySleepTemperatureDerivations`) }, "sedentaryPeriod": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#SedentaryPeriod`) }, "runVo2Max": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#RunVO2Max`) }, "oxygenSaturation": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#OxygenSaturation`) }, "dailyOxygenSaturation": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DailyOxygenSaturation`) }, "activityLevel": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#ActivityLevel`) }, "vo2Max": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#VO2Max`) }, "dailyVo2Max": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DailyVO2Max`) }, "nutritionLog": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#NutritionLog`) }, "dailyHeartRateZones": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DailyHeartRateZones`) }, "hydrationLog": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#HydrationLog`) }, "timeInHeartRateZone": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#TimeInHeartRateZone`) }, "activeMinutes": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#ActiveMinutes`) }, "respiratoryRateSleepSummary": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#RespiratoryRateSleepSummary`) }, "dailyRespiratoryRate": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DailyRespiratoryRate`) }, "swimLengthsData": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#SwimLengthsData`) }, "height": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Height`) }, "basalEnergyBurned": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#BasalEnergyBurned`) }, "coreBodyTemperature": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#CoreBodyTemperature`) }, "activeEnergyBurned": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#ActiveEnergyBurned`) }, "bloodGlucose": { object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#BloodGlucose`) } // End of mutually exclusive fields. } ``` |

| Fields ||
|---|---|
| `dataPointName` | `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/{dataType}/dataPoints/{dataPoint}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in `https://developers.google.com/health/reference/rest/v4/users/getIdentity#body.Identity.FIELDS.health_user_id`. The `{dataType}` ID corresponds to the kebab-case version of the field names in the `https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DataPoint` union field, e.g. `heart-rate` for the `heartRate` field. The `{dataPoint}` 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 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. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: ||
| `steps` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Steps`)`` Data for points in the `steps` interval data type collection. |
| `floors` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Floors`)`` Data for points in the `floors` interval data type collection. |
| `heartRate` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#HeartRate`)`` Data for points in the `heart-rate` sample data type collection. |
| `sleep` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Sleep`)`` Data for points in the `sleep` session data type collection. |
| `dailyRestingHeartRate` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DailyRestingHeartRate`)`` Data for points in the `daily-resting-heart-rate` daily data type collection. |
| `dailyHeartRateVariability` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DailyHeartRateVariability`)`` Data for points in the `daily-heart-rate-variability` daily data type collection. |
| `exercise` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Exercise`)`` Data for points in the `exercise` session data type collection. |
| `weight` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Weight`)`` Data for points in the `weight` sample data type collection. |
| `altitude` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Altitude`)`` Data for points in the `altitude` interval data type collection. |
| `distance` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Distance`)`` Data for points in the `distance` interval data type collection. |
| `bodyFat` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#BodyFat`)`` Data for points in the `body-fat` sample data type collection. |
| `activeZoneMinutes` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#ActiveZoneMinutes`)`` Data for points in the `active-zone-minutes` interval data type collection, measured in minutes. |
| `heartRateVariability` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#HeartRateVariability`)`` Data for points in the `heart-rate-variability` sample data type collection. |
| `dailySleepTemperatureDerivations` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DailySleepTemperatureDerivations`)`` Data for points in the `daily-sleep-temperature-derivations` daily data type collection. |
| `sedentaryPeriod` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#SedentaryPeriod`)`` Data for points in the `sedentary-period` interval data type collection. |
| `runVo2Max` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#RunVO2Max`)`` Data for points in the `run-vo2-max` sample data type collection. |
| `oxygenSaturation` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#OxygenSaturation`)`` Data for points in the `oxygen-saturation` sample data type collection. |
| `dailyOxygenSaturation` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DailyOxygenSaturation`)`` Data for points in the `daily-oxygen-saturation` daily data type collection. |
| `activityLevel` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#ActivityLevel`)`` Data for points in the `activity-level` daily data type collection. |
| `vo2Max` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#VO2Max`)`` Data for points in the `vo2-max` sample data type collection. |
| `dailyVo2Max` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DailyVO2Max`)`` Data for points in the `daily-vo2-max` daily data type collection. |
| `nutritionLog` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#NutritionLog`)`` Data for points in the `nutrition-log` session data type collection. |
| `dailyHeartRateZones` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DailyHeartRateZones`)`` Data for points in the `daily-heart-rate-zones` daily data type collection. |
| `hydrationLog` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#HydrationLog`)`` Data for points in the `hydration-log` session data type collection. |
| `timeInHeartRateZone` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#TimeInHeartRateZone`)`` Data for points in the `time-in-heart-rate-zone` interval data type collection. |
| `activeMinutes` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#ActiveMinutes`)`` Data for points in the `active-minutes` interval data type collection. |
| `respiratoryRateSleepSummary` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#RespiratoryRateSleepSummary`)`` Data for points in the `respiratory-rate-sleep-summary` sample data type collection. |
| `dailyRespiratoryRate` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#DailyRespiratoryRate`)`` Data for points in the `daily-respiratory-rate` daily data type collection. |
| `swimLengthsData` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#SwimLengthsData`)`` Data for points in the `swim-lengths-data` interval data type collection. |
| `height` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#Height`)`` Data for points in the `height` sample data type collection. |
| `basalEnergyBurned` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#BasalEnergyBurned`)`` Data for points in the `basal-energy-burned` interval data type collection. |
| `coreBodyTemperature` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#CoreBodyTemperature`)`` Data for points in the `core-body-temperature` sample data type collection. |
| `activeEnergyBurned` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#ActiveEnergyBurned`)`` Data for points in the `active-energy-burned` interval data type collection. |
| `bloodGlucose` | ``object (`https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints#BloodGlucose`)`` Data for points in the `blood-glucose` sample data type collection. |
| End of mutually exclusive fields. ||