Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

# android.health.connect

*** ** * ** ***

## Interfaces

|---|---|
| [TimeRangeFilter](https://developer.android.com/reference/android/health/connect/TimeRangeFilter) | A Base class to represent a request for time range for read and delete requests. |

## Classes

|---|---|
| [AggregateRecordsGroupedByDurationResponse](https://developer.android.com/reference/android/health/connect/AggregateRecordsGroupedByDurationResponse)\<T\> | Class to represent the response from `https://developer.android.com/reference/android/health/connect/HealthConnectManager#aggregateGroupByDuration(android.health.connect.AggregateRecordsRequest<T>,%20java.time.Duration,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.util.List<android.health.connect.AggregateRecordsGroupedByDurationResponse<T>>,android.health.connect.HealthConnectException>)` |
| [AggregateRecordsGroupedByPeriodResponse](https://developer.android.com/reference/android/health/connect/AggregateRecordsGroupedByPeriodResponse)\<T\> | Class to represent the response from `https://developer.android.com/reference/android/health/connect/HealthConnectManager#aggregateGroupByPeriod(android.health.connect.AggregateRecordsRequest<T>,%20java.time.Period,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.util.List<android.health.connect.AggregateRecordsGroupedByPeriodResponse<T>>,android.health.connect.HealthConnectException>)` |
| [AggregateRecordsRequest](https://developer.android.com/reference/android/health/connect/AggregateRecordsRequest)\<T\> | A class to create requests for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#aggregate(android.health.connect.AggregateRecordsRequest<T>,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.health.connect.AggregateRecordsResponse<T>,android.health.connect.HealthConnectException>)` |
| [AggregateRecordsRequest.Builder](https://developer.android.com/reference/android/health/connect/AggregateRecordsRequest.Builder)\<T\> |   |
| [AggregateRecordsResponse](https://developer.android.com/reference/android/health/connect/AggregateRecordsResponse)\<T\> | A class representing response for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#aggregate(android.health.connect.AggregateRecordsRequest<T>,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.health.connect.AggregateRecordsResponse<T>,android.health.connect.HealthConnectException>)` |
| [CreateMedicalDataSourceRequest](https://developer.android.com/reference/android/health/connect/CreateMedicalDataSourceRequest) | A create request for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#createMedicalDataSource(android.health.connect.CreateMedicalDataSourceRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.health.connect.datatypes.MedicalDataSource,android.health.connect.HealthConnectException>)`. |
| [CreateMedicalDataSourceRequest.Builder](https://developer.android.com/reference/android/health/connect/CreateMedicalDataSourceRequest.Builder) | Builder class for `https://developer.android.com/reference/android/health/connect/CreateMedicalDataSourceRequest`. |
| [DeleteMedicalResourcesRequest](https://developer.android.com/reference/android/health/connect/DeleteMedicalResourcesRequest) | A delete request for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#deleteMedicalResources(android.health.connect.DeleteMedicalResourcesRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.lang.Void,android.health.connect.HealthConnectException>)`. |
| [DeleteMedicalResourcesRequest.Builder](https://developer.android.com/reference/android/health/connect/DeleteMedicalResourcesRequest.Builder) | Builder class for `https://developer.android.com/reference/android/health/connect/DeleteMedicalResourcesRequest`. |
| [DeviceDataSource](https://developer.android.com/reference/android/health/connect/DeviceDataSource) | Represents a device that acts as a source of health and fitness data. |
| [DeviceDataSourceCapabilities](https://developer.android.com/reference/android/health/connect/DeviceDataSourceCapabilities) | Represents the set of record types a device data source can provide. |
| [DeviceDataTypeSource](https://developer.android.com/reference/android/health/connect/DeviceDataTypeSource) | A data type provided by a device. |
| [GetDeviceDataSourcesResponse](https://developer.android.com/reference/android/health/connect/GetDeviceDataSourcesResponse) | Response containing the list of `https://developer.android.com/reference/android/health/connect/DeviceDataSource`. |
| [GetMedicalDataSourcesRequest](https://developer.android.com/reference/android/health/connect/GetMedicalDataSourcesRequest) | A create request for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#getMedicalDataSources(android.health.connect.GetMedicalDataSourcesRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.util.List<android.health.connect.datatypes.MedicalDataSource>,android.health.connect.HealthConnectException>)`. |
| [GetMedicalDataSourcesRequest.Builder](https://developer.android.com/reference/android/health/connect/GetMedicalDataSourcesRequest.Builder) | Builder class for `https://developer.android.com/reference/android/health/connect/GetMedicalDataSourcesRequest`. |
| [HealthConnectManager](https://developer.android.com/reference/android/health/connect/HealthConnectManager) | This class provides APIs to interact with the centralized HealthConnect storage maintained by the system. |
| [HealthPermissions](https://developer.android.com/reference/android/health/connect/HealthPermissions) | Permissions for accessing the HealthConnect APIs. |
| [InsertRecordsResponse](https://developer.android.com/reference/android/health/connect/InsertRecordsResponse) | Response for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#insertRecords(java.util.List<android.health.connect.datatypes.Record>,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.health.connect.InsertRecordsResponse,android.health.connect.HealthConnectException>)`. |
| [LocalTimeRangeFilter](https://developer.android.com/reference/android/health/connect/LocalTimeRangeFilter) | Specification of local time range for health connect requests. |
| [LocalTimeRangeFilter.Builder](https://developer.android.com/reference/android/health/connect/LocalTimeRangeFilter.Builder) | Builder class for `https://developer.android.com/reference/android/health/connect/LocalTimeRangeFilter` |
| [MatchmakingRequest](https://developer.android.com/reference/android/health/connect/MatchmakingRequest) | Represents a request to determine if there are matching data sources for a given set of record types. |
| [MatchmakingRequest.Builder](https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder) | Builder class for `https://developer.android.com/reference/android/health/connect/MatchmakingRequest`. |
| [MatchmakingResponse](https://developer.android.com/reference/android/health/connect/MatchmakingResponse) | A response for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#isMatchmakingPossible(android.health.connect.MatchmakingRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.health.connect.MatchmakingResponse,android.health.connect.HealthConnectException>)`. |
| [MatchmakingResponse.Builder](https://developer.android.com/reference/android/health/connect/MatchmakingResponse.Builder) | Builder for `https://developer.android.com/reference/android/health/connect/MatchmakingResponse`. |
| [MedicalResourceId](https://developer.android.com/reference/android/health/connect/MedicalResourceId) | A class to represent a unique identifier of a medical resource. |
| [ReadMedicalResourcesInitialRequest](https://developer.android.com/reference/android/health/connect/ReadMedicalResourcesInitialRequest) | An initial read request with specified filters for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#readMedicalResources(android.health.connect.ReadMedicalResourcesRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.health.connect.ReadMedicalResourcesResponse,android.health.connect.HealthConnectException>)`. |
| [ReadMedicalResourcesInitialRequest.Builder](https://developer.android.com/reference/android/health/connect/ReadMedicalResourcesInitialRequest.Builder) | Builder class for `https://developer.android.com/reference/android/health/connect/ReadMedicalResourcesInitialRequest`. |
| [ReadMedicalResourcesPageRequest](https://developer.android.com/reference/android/health/connect/ReadMedicalResourcesPageRequest) | A page read request with specified `pageToken` for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#readMedicalResources(android.health.connect.ReadMedicalResourcesRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.health.connect.ReadMedicalResourcesResponse,android.health.connect.HealthConnectException>)`. |
| [ReadMedicalResourcesPageRequest.Builder](https://developer.android.com/reference/android/health/connect/ReadMedicalResourcesPageRequest.Builder) | Builder class for `https://developer.android.com/reference/android/health/connect/ReadMedicalResourcesPageRequest`. |
| [ReadMedicalResourcesRequest](https://developer.android.com/reference/android/health/connect/ReadMedicalResourcesRequest) | A base class to represent a read request for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#readMedicalResources(android.health.connect.ReadMedicalResourcesRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.health.connect.ReadMedicalResourcesResponse,android.health.connect.HealthConnectException>)`. |
| [ReadMedicalResourcesResponse](https://developer.android.com/reference/android/health/connect/ReadMedicalResourcesResponse) | A read response for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#readMedicalResources(android.health.connect.ReadMedicalResourcesRequest,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.health.connect.ReadMedicalResourcesResponse,android.health.connect.HealthConnectException>)`. |
| [ReadRecordsRequest](https://developer.android.com/reference/android/health/connect/ReadRecordsRequest)\<T extends [Record](https://developer.android.com/reference/android/health/connect/datatypes/Record)\> | A Base class to represent a request for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#readRecords(android.health.connect.ReadRecordsRequest<T>,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.health.connect.ReadRecordsResponse<T>,android.health.connect.HealthConnectException>)` |
| [ReadRecordsRequestUsingFilters](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters)\<T extends [Record](https://developer.android.com/reference/android/health/connect/datatypes/Record)\> | Class to represent a request based on time range and data origin filters for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#readRecords(android.health.connect.ReadRecordsRequest<T>,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.health.connect.ReadRecordsResponse<T>,android.health.connect.HealthConnectException>)` |
| [ReadRecordsRequestUsingFilters.Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder)\<T extends [Record](https://developer.android.com/reference/android/health/connect/datatypes/Record)\> | Builder class for `https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters` |
| [ReadRecordsRequestUsingIds](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingIds)\<T extends [Record](https://developer.android.com/reference/android/health/connect/datatypes/Record)\> | A request class to represent request based on `https://developer.android.com/reference/android/health/connect/RecordIdFilter` for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#readRecords(android.health.connect.ReadRecordsRequest<T>,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.health.connect.ReadRecordsResponse<T>,android.health.connect.HealthConnectException>)` A `https://developer.android.com/reference/android/health/connect/RecordIdFilter` can be constructed with either `https://developer.android.com/reference/android/health/connect/RecordIdFilter#fromId(java.lang.Class<?%20extends%20android.health.connect.datatypes.Record>,%20java.lang.String)` or `https://developer.android.com/reference/android/health/connect/RecordIdFilter#fromClientRecordId(java.lang.Class<?%20extends%20android.health.connect.datatypes.Record>,%20java.lang.String)`. |
| [ReadRecordsRequestUsingIds.Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingIds.Builder)\<T extends [Record](https://developer.android.com/reference/android/health/connect/datatypes/Record)\> | Builder class for `https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingIds` |
| [ReadRecordsResponse](https://developer.android.com/reference/android/health/connect/ReadRecordsResponse)\<T extends [Record](https://developer.android.com/reference/android/health/connect/datatypes/Record)\> | Response containing list of Records for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#readRecords(android.health.connect.ReadRecordsRequest<T>,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<android.health.connect.ReadRecordsResponse<T>,android.health.connect.HealthConnectException>)`. |
| [RecordIdFilter](https://developer.android.com/reference/android/health/connect/RecordIdFilter) | A class to represent filtering based on record ID or client ID. |
| [TimeInstantRangeFilter](https://developer.android.com/reference/android/health/connect/TimeInstantRangeFilter) | Specification of time range for read and delete requests. |
| [TimeInstantRangeFilter.Builder](https://developer.android.com/reference/android/health/connect/TimeInstantRangeFilter.Builder) | Builder class for `https://developer.android.com/reference/android/health/connect/TimeInstantRangeFilter` |
| [UpsertMedicalResourceRequest](https://developer.android.com/reference/android/health/connect/UpsertMedicalResourceRequest) | An upsert request for `https://developer.android.com/reference/android/health/connect/HealthConnectManager#upsertMedicalResources(java.util.List<android.health.connect.UpsertMedicalResourceRequest>,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.util.List<android.health.connect.datatypes.MedicalResource>,android.health.connect.HealthConnectException>)`. |
| [UpsertMedicalResourceRequest.Builder](https://developer.android.com/reference/android/health/connect/UpsertMedicalResourceRequest.Builder) | Builder class for `https://developer.android.com/reference/android/health/connect/UpsertMedicalResourceRequest`. |

## Exceptions

|---|---|
| [HealthConnectException](https://developer.android.com/reference/android/health/connect/HealthConnectException) | Class representing health connect exceptions. |

-

  ## Interfaces

  - [TimeRangeFilter](https://developer.android.com/reference/android/health/connect/TimeRangeFilter)
-

  ## Classes

  - [AggregateRecordsGroupedByDurationResponse](https://developer.android.com/reference/android/health/connect/AggregateRecordsGroupedByDurationResponse)
  - [AggregateRecordsGroupedByPeriodResponse](https://developer.android.com/reference/android/health/connect/AggregateRecordsGroupedByPeriodResponse)
  - [AggregateRecordsRequest](https://developer.android.com/reference/android/health/connect/AggregateRecordsRequest)
  - [AggregateRecordsRequest.Builder](https://developer.android.com/reference/android/health/connect/AggregateRecordsRequest.Builder)
  - [AggregateRecordsResponse](https://developer.android.com/reference/android/health/connect/AggregateRecordsResponse)
  - [CreateMedicalDataSourceRequest](https://developer.android.com/reference/android/health/connect/CreateMedicalDataSourceRequest)
  - [CreateMedicalDataSourceRequest.Builder](https://developer.android.com/reference/android/health/connect/CreateMedicalDataSourceRequest.Builder)
  - [DeleteMedicalResourcesRequest](https://developer.android.com/reference/android/health/connect/DeleteMedicalResourcesRequest)
  - [DeleteMedicalResourcesRequest.Builder](https://developer.android.com/reference/android/health/connect/DeleteMedicalResourcesRequest.Builder)
  - [DeviceDataSource](https://developer.android.com/reference/android/health/connect/DeviceDataSource)
  - [DeviceDataSourceCapabilities](https://developer.android.com/reference/android/health/connect/DeviceDataSourceCapabilities)
  - [DeviceDataTypeSource](https://developer.android.com/reference/android/health/connect/DeviceDataTypeSource)
  - [GetDeviceDataSourcesResponse](https://developer.android.com/reference/android/health/connect/GetDeviceDataSourcesResponse)
  - [GetMedicalDataSourcesRequest](https://developer.android.com/reference/android/health/connect/GetMedicalDataSourcesRequest)
  - [GetMedicalDataSourcesRequest.Builder](https://developer.android.com/reference/android/health/connect/GetMedicalDataSourcesRequest.Builder)
  - [HealthConnectManager](https://developer.android.com/reference/android/health/connect/HealthConnectManager)
  - [HealthPermissions](https://developer.android.com/reference/android/health/connect/HealthPermissions)
  - [InsertRecordsResponse](https://developer.android.com/reference/android/health/connect/InsertRecordsResponse)
  - [LocalTimeRangeFilter](https://developer.android.com/reference/android/health/connect/LocalTimeRangeFilter)
  - [LocalTimeRangeFilter.Builder](https://developer.android.com/reference/android/health/connect/LocalTimeRangeFilter.Builder)
  - [MatchmakingRequest](https://developer.android.com/reference/android/health/connect/MatchmakingRequest)
  - [MatchmakingRequest.Builder](https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder)
  - [MatchmakingResponse](https://developer.android.com/reference/android/health/connect/MatchmakingResponse)
  - [MatchmakingResponse.Builder](https://developer.android.com/reference/android/health/connect/MatchmakingResponse.Builder)
  - [MedicalResourceId](https://developer.android.com/reference/android/health/connect/MedicalResourceId)
  - [ReadMedicalResourcesInitialRequest](https://developer.android.com/reference/android/health/connect/ReadMedicalResourcesInitialRequest)
  - [ReadMedicalResourcesInitialRequest.Builder](https://developer.android.com/reference/android/health/connect/ReadMedicalResourcesInitialRequest.Builder)
  - [ReadMedicalResourcesPageRequest](https://developer.android.com/reference/android/health/connect/ReadMedicalResourcesPageRequest)
  - [ReadMedicalResourcesPageRequest.Builder](https://developer.android.com/reference/android/health/connect/ReadMedicalResourcesPageRequest.Builder)
  - [ReadMedicalResourcesRequest](https://developer.android.com/reference/android/health/connect/ReadMedicalResourcesRequest)
  - [ReadMedicalResourcesResponse](https://developer.android.com/reference/android/health/connect/ReadMedicalResourcesResponse)
  - [ReadRecordsRequest](https://developer.android.com/reference/android/health/connect/ReadRecordsRequest)
  - [ReadRecordsRequestUsingFilters](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters)
  - [ReadRecordsRequestUsingFilters.Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingFilters.Builder)
  - [ReadRecordsRequestUsingIds](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingIds)
  - [ReadRecordsRequestUsingIds.Builder](https://developer.android.com/reference/android/health/connect/ReadRecordsRequestUsingIds.Builder)
  - [ReadRecordsResponse](https://developer.android.com/reference/android/health/connect/ReadRecordsResponse)
  - [RecordIdFilter](https://developer.android.com/reference/android/health/connect/RecordIdFilter)
  - [TimeInstantRangeFilter](https://developer.android.com/reference/android/health/connect/TimeInstantRangeFilter)
  - [TimeInstantRangeFilter.Builder](https://developer.android.com/reference/android/health/connect/TimeInstantRangeFilter.Builder)
  - [UpsertMedicalResourceRequest](https://developer.android.com/reference/android/health/connect/UpsertMedicalResourceRequest)
  - [UpsertMedicalResourceRequest.Builder](https://developer.android.com/reference/android/health/connect/UpsertMedicalResourceRequest.Builder)
-

  ## Exceptions

  - [HealthConnectException](https://developer.android.com/reference/android/health/connect/HealthConnectException)