HealthKit stores and queries the user's health and fitness data, including samples, workouts, clinical records, and characteristics. You read and write typed data such as category samples (HKCategorySample), audiogram results (HKAudiogramSample), and CDA clinical documents (HKCDADocument), and you access characteristics like biological sex and blood type through objects such as HKBiologicalSexObject and HKBloodTypeObject. To retrieve data, you run queries including HKAnchoredObjectQuery for incremental updates and HKActivitySummaryQuery to fetch activity rings via HKActivitySummary. The framework is available on iOS, macOS, watchOS, and visionOS.
Essentials 4
The central store and errors you use to read, write, and authorize access to health data.
- ClHKHealthStoreiOS 8.0+@class HKHealthStore
- StHKErroriOS 8.0+An error type describing failures encountered while accessing the HealthKit store.
- EnHKAuthorizationStatusiOS 8.0+@enum HKAuthorizationStatus
- EnHKAuthorizationRequestStatusiOS 12.0+@enum HKAuthorizationRequestStatus
Objects and Sources 6
The base object model and the apps and devices that record health data.
- ClHKObjectiOS 8.0+The abstract base class for all data stored in HealthKit, providing a UUID, source, and metadata.
- ClHKDeletedObjectiOS 9.0+@class HKDeletedObject
- ClHKSourceiOS 8.0+@class HKSource
- ClHKSourceRevisioniOS 9.0+@class HKSourceRevision
- ClHKDeviceiOS 9.0+An object describing the hardware device that produced a sample.
- EnHKDevicePlacementSideiOS 14.0+@enum HKDevicePlacementSide
Object and Sample Types 18
The type metadata objects that identify each kind of health data you can read or write.
- ClHKObjectTypeiOS 8.0+@class HKObjectType
- ClHKCharacteristicTypeiOS 8.0+@class HKCharacteristicType
- ClHKSampleTypeiOS 8.0+@class HKSampleType
- ClHKCategoryTypeiOS 8.0+@class HKCategoryType
- ClHKCorrelationTypeiOS 8.0+@class HKCorrelationType
- ClHKDocumentTypeiOS 10.0+@class HKDocumentType
- ClHKQuantityTypeiOS 8.0+@class HKQuantityType
- ClHKWorkoutTypeiOS 8.0+@class HKWorkoutType
- ClHKSeriesTypeiOS 11.0+@class HKSeriesType
- ClHKActivitySummaryTypeiOS 9.3+@class HKActivitySummaryType
- ClHKAudiogramSampleTypeiOS 13.0+@class HKAudiogramSampleType
- ClHKElectrocardiogramTypeiOS 14.0+@class HKElectrocardiogramType
- ClHKMedicationDoseEventTypeiOS 26.0+@class HKMedicationDoseEventType
- ClHKPrescriptionTypeiOS 16.0+@class HKPrescriptionType
- ClHKScoredAssessmentTypeiOS 18.0+@class HKScoredAssessmentType
- ClHKStateOfMindTypeiOS 18.0+@class HKStateOfMindType
- ClHKUserAnnotatedMedicationTypeiOS 26.0+@class HKUserAnnotatedMedicationType
- ClHKClinicalTypeiOS 12.0+@class HKClinicalType
Type Identifiers 9
Constants that name the specific quantity, category, and other data types HealthKit recognizes.
- StHKQuantityTypeIdentifierConstants that identify the specific quantity types HealthKit can store, such as step count or heart rate.
- StHKCategoryTypeIdentifierConstants that identify the specific category types HealthKit can store, such as sleep analysis.
- StHKCharacteristicTypeIdentifierConstants that identify the read-only characteristic types such as biological sex or blood type.
- StHKCorrelationTypeIdentifierConstants that identify the correlation types HealthKit can store, such as blood pressure.
- StHKDocumentTypeIdentifierConstants that identify the document types HealthKit can store, such as CDA documents.
- StHKClinicalTypeIdentifieriOS 12.0+Constants that identify the clinical record types HealthKit can store, such as lab results.
- StHKScoredAssessmentTypeIdentifierConstants that identify the standardized scored assessment types HealthKit supports.
- ClHKHealthConceptIdentifieriOS 26.0+A unique identifier for a specific health concept within a domain.
- StHKHealthConceptDomainiOS 26.0+A domain that represents a health concept.
Samples and Quantities 10
The sample objects and measurement values that represent recorded health data points.
- ClHKSampleiOS 8.0+@class HKSample
- ClHKCategorySampleiOS 8.0+@class HKCategorySample
- ClHKQuantityiOS 8.0+@class HKQuantity
- ClHKQuantitySampleiOS 8.0+@class HKQuantitySample
- ClHKDiscreteQuantitySampleiOS 13.0+@class HKDiscreteQuantitySample
- ClHKCumulativeQuantitySampleiOS 13.0+@class HKCumulativeQuantitySample
- ClHKCumulativeQuantitySeriesSampleA cumulative quantity sample backed by a series of individual data points.
- EnHKQuantityAggregationStyleiOS 8.0+@enum HKQuantityAggregationStyle
- ClHKUnitiOS 8.0+An object representing a unit of measurement for quantity samples.
- EnHKMetricPrefixiOS 8.0+Constants specifying metric prefixes such as kilo or milli applied to a unit.
Correlations and Series 6
Grouped samples and incrementally built sample series such as heartbeat and route data.
- ClHKCorrelationiOS 8.0+@class HKCorrelation
- ClHKSeriesSample@class HKSeriesSample
- ClHKSeriesBuilder@class HKSeriesBuilder
- ClHKHeartbeatSeriesSampleiOS 13.0+@class HKHeartbeatSeriesSample
- ClHKHeartbeatSeriesBuilderiOS 13.0+@class HKHeartbeatSeriesBuilder
- ClHKQuantitySeriesSampleBuilderiOS 12.0+@class HKQuantitySeriesSampleBuilder
Characteristics 10
Read-only personal characteristics such as biological sex, blood type, and skin type.
- ClHKBiologicalSexObjectiOS 8.0+@class HKBiologicalSexObject
- EnHKBiologicalSexiOS 8.0+@enum HKBiologicalSex
- ClHKBloodTypeObjectiOS 8.0+@class HKBloodTypeObject
- EnHKBloodTypeiOS 8.0+@enum HKBloodType
- ClHKFitzpatrickSkinTypeObjectiOS 9.0+@class HKFitzpatrickSkinTypeObject
- EnHKFitzpatrickSkinTypeiOS 9.0+@enum HKFitzpatrickSkinType
- ClHKWheelchairUseObjectiOS 10.0+@class HKWheelchairUseObject
- EnHKWheelchairUseiOS 10.0+@enum HKWheelchairUse
- ClHKActivityMoveModeObjectiOS 14.0+@class HKActivityMoveModeObject
- EnHKActivityMoveModeiOS 14.0+@enum HKActivityMoveMode
Queries 9
The query classes that fetch, observe, and aggregate samples from the HealthKit store.
- ClHKQueryiOS 8.0+The abstract base class for all HealthKit queries.
- ClHKSampleQueryA query that returns a one-time set of samples matching a predicate.
- ClHKAnchoredObjectQueryA query that returns incremental changes to samples since a previous anchor.
- ClHKObserverQueryiOS 8.0+A long-running query that notifies your app when matching samples change.
- ClHKCorrelationQueryiOS 8.0+@class HKCorrelationQuery
- ClHKSourceQueryA query that returns the sources that have saved samples of a given type.
- ClHKDocumentQueryiOS 10.0+@class HKDocumentQuery
- ClHKQueryAnchoriOS 9.0+@class HKQueryAnchor
- EnHKUpdateFrequencyiOS 8.0+@enum HKUpdateFrequency
Query Descriptors 14
Value-type descriptors and predicates for the modern async/await query interface.
- ClHKQueryDescriptoriOS 15.0+A value describing a sample type and predicate for use with modern query interfaces.
- StHKSamplePredicateiOS 15.4+A predicate for use in queries that should match a collection of `HKSample`. The generic type `Sample` indicates the
- StHKSampleQueryDescriptoriOS 15.4+A descriptor for an async query that returns samples matching a predicate.
- StHKAnchoredObjectQueryDescriptoriOS 15.4+A descriptor for an async query that returns incremental sample changes.
- StHKSourceQueryDescriptoriOS 15.4+A descriptor for an async query that returns matching data sources.
- StHKActivitySummaryQueryDescriptoriOS 15.4+A descriptor for an async query that returns daily activity summaries.
- StHKElectrocardiogramQueryDescriptoriOS 15.4+A descriptor for an async query that returns electrocardiogram samples.
- StHKHeartbeatSeriesQueryDescriptoriOS 15.4+A descriptor for an async query that returns heartbeat series data.
- StHKQuantitySeriesSampleQueryDescriptoriOS 15.4+A descriptor for an async query that returns the values of a quantity series sample.
- StHKWorkoutRouteQueryDescriptoriOS 15.4+A descriptor for an async query that returns the locations of a workout route.
- PrHKAsyncQueryiOS 15.4+A protocol adopted by query descriptors that produce a single asynchronous result.
- PrHKAsyncSequenceQueryiOS 15.4+A protocol adopted by query descriptors that produce an asynchronous sequence of results.
- PrHKCategoryValuePredicateProvidingiOS 16.0+Conformers gain the ability to provide category value predicates.
- StBufferedAsyncByteIteratoriOS 16.0+An async iterator that yields buffered bytes when reading attachment data.
Statistics 10
Computed aggregates over quantity samples for single periods or collections of intervals.
- ClHKStatisticsiOS 8.0+@class HKStatistics
- ClHKStatisticsQueryA query that computes statistics over the quantity samples matching a predicate.
- ClHKStatisticsCollectioniOS 8.0+A collection of statistics computed over a series of fixed time intervals.
- ClHKStatisticsCollectionQueryA query that computes statistics across many time intervals, optionally updating over time.
- StHKStatisticsQueryDescriptoriOS 15.4+A descriptor for an async query that computes statistics over quantity samples.
- StHKStatisticsCollectionQueryDescriptoriOS 15.4+A descriptor for an async query that computes statistics across time intervals.
- ClHKQuantitySeriesSampleQueryA query that returns the individual data points of a quantity series sample.
- ClHKHeartbeatSeriesQueryA query that returns the heartbeat timings contained in a heartbeat series sample.
- StHKStatisticsOptionsiOS 8.0+@enum HKStatisticsOptions
- StHKQueryOptionsiOS 8.0+@enum HKQueryOptions
Activity Summaries 2
Daily activity ring data summarizing the user's Move, Exercise, and Stand goals.
- ClHKActivitySummaryiOS 9.3+@class HKActivitySummary
- ClHKActivitySummaryQueryA query that retrieves the user's daily activity summaries.
Workouts 15
Recording, configuring, and querying workout sessions, activities, and their routes.
- ClHKWorkoutiOS 8.0+@class HKWorkout
- ClHKWorkoutActivityiOS 16.0+@class HKWorkoutActivity
- ClHKWorkoutEventiOS 8.0+@class HKWorkoutEvent
- ClHKWorkoutBuilderiOS 12.0+@class HKWorkoutBuilder
- ClHKWorkoutConfigurationiOS 10.0+@class HKWorkoutConfiguration
- ClHKWorkoutSessioniOS 17.0+@class HKWorkoutSession
- PrHKWorkoutSessionDelegateiOS 17.0+@enum HKWorkoutSessionStateDelegate
- ClHKWorkoutRouteiOS 11.0+A series sample storing the geographic route recorded during a workout.
- ClHKWorkoutRouteBuilderiOS 11.0+@class HKWorkoutRouteBuilder
- ClHKWorkoutRouteQueryA query that returns the location data contained in a workout route.
- EnHKWorkoutEventTypeiOS 8.0+Constants identifying the kinds of events that can occur during a workout.
- EnHKWorkoutActivityTypeiOS 8.0+@enum HKWorkoutActivityType
- EnHKWorkoutSessionLocationTypeiOS 10.0+@enum HKWorkoutSessionLocationType
- EnHKWorkoutSwimmingLocationTypeiOS 10.0+@enum HKWorkoutSwimmingLocationType
- EnHKSwimmingStrokeStyleiOS 10.0+@enum HKSwimmingStrokeStyle
Workout Effort and Zones 8
Relating samples to workouts and grouping their intensity into heart-rate or power zones.
- ClHKWorkoutEffortRelationshipiOS 18.0+An object relating samples to the workout whose effort they describe.
- ClHKWorkoutEffortRelationshipQueryiOS 18.0+@class HKWorkoutEffortRelationshipQuery
- StHKWorkoutEffortRelationshipQueryDescriptoriOS 18.0+A descriptor for an async query that returns workout effort relationships.
- StHKWorkoutZoneA value describing a single heart-rate or power zone within a workout.
- StHKWorkoutZoneConfigurationA value defining the boundaries used to compute a workout's zones.
- StHKWorkoutZoneDurationA value describing the time spent in a particular workout zone.
- StHKWorkoutZoneGroupA value grouping related workout zones together.
- EnHKPhysicalEffortEstimationTypeiOS 17.0+@enum HKPhysicalEffortEstimationType
Electrocardiograms and Heart Data 7
ECG samples and the enumerations describing heart-rate measurement context.
- ClHKElectrocardiogramiOS 14.0+@class HKElectrocardiogram
- ClHKElectrocardiogramQueryA query that returns the voltage measurements of an electrocardiogram sample.
- EnHKAppleECGAlgorithmVersioniOS 14.0+@enum HKAppleECGAlgorithmVersion
- EnHKHeartRateMotionContextiOS 11.0+Constants describing the user's motion state when a heart-rate sample was recorded.
- EnHKHeartRateRecoveryTestTypeiOS 16.0+@enum HKHeartRateRecoveryTestType
- EnHKHeartRateSensorLocationiOS 8.0+Constants indicating the body location of the heart-rate sensor.
- EnHKUserMotionContextiOS 16.0+Constants describing the user's motion when a sample was recorded.
Hearing Health 6
Audiogram samples and the test data describing a user's hearing sensitivity.
- ClHKAudiogramSampleiOS 13.0+@class HKAudiogramSample
- ClHKAudiogramSensitivityPointiOS 13.0+An object representing a single frequency and sensitivity measurement in an audiogram.
- ClHKAudiogramSensitivityPointClampingRangeiOS 18.1+Defines the range within which an ear's sensitivity point may have been clamped, if any.
- ClHKAudiogramSensitivityTestiOS 18.1+An object describing a single hearing sensitivity test for an audiogram.
- EnHKAudiogramConductionTypeiOS 18.1+@enum HKAudiogramConductionType
- EnHKAudiogramSensitivityTestSideiOS 18.1+@enum HKAudiogramSensitivityTestSide
Clinical Records 12
FHIR-backed clinical records and verifiable health documents from healthcare institutions.
- ClHKClinicalRecordiOS 12.0+@class HKClinicalRecord
- ClHKClinicalCodingiOS 26.0+A clinical coding that represents a medical concept using a standardized coding system.
- ClHKFHIRResourceiOS 12.0+@class HKFHIRResource
- ClHKFHIRVersioniOS 14.0+@class HKFHIRVersion
- StHKFHIRRelease@abstract FHIR releases are official releases of the FHIR specification.
- StHKFHIRResourceTypeiOS 12.0+Constants identifying the type of a FHIR clinical resource.
- ClHKVerifiableClinicalRecordiOS 15.0+@class HKVerifiableClinicalRecord
- ClHKVerifiableClinicalRecordQueryA query that returns verifiable clinical records matching the given criteria.
- StHKVerifiableClinicalRecordQueryDescriptorA descriptor for an async query that returns verifiable clinical records.
- ClHKVerifiableClinicalRecordSubjectiOS 15.0+@class HKVerifiableClinicalRecordSubject
- StHKVerifiableClinicalRecordSourceTypeiOS 15.4+Constants identifying the source standard of a verifiable clinical record.
- StHKVerifiableClinicalRecordCredentialTypeiOS 15.4+Constants identifying the credential type of a verifiable clinical record.
Documents 3
Clinical Document Architecture (CDA) samples stored as health documents.
- ClHKDocumentSampleiOS 10.0+@class HKDocumentSample
- ClHKCDADocumentSampleiOS 10.0+@class HKCDADocumentSample
- ClHKCDADocumentiOS 11.0+An object containing the parsed contents of a CDA clinical document.
Medications 7
Medication concepts, user annotations, and logged dose events.
- ClHKMedicationConceptiOS 26.0+An object that describes a specific medication concept.
- ClHKMedicationDoseEventiOS 26.0+A sample recording an event of a medication dose being logged.
- ClHKUserAnnotatedMedicationiOS 26.0+A reference to the tracked medication and the details a person can customize.
- ClHKUserAnnotatedMedicationQueryiOS 26.0+A query that returns the user's annotated medications.
- StHKUserAnnotatedMedicationQueryDescriptoriOS 26.0+A descriptor for an async query that returns the user's annotated medications.
- StHKMedicationGeneralFormThe manufactured form of a medication.
- EnHKInsulinDeliveryReasoniOS 11.0+@enum HKInsulinDeliveryReason
Vision Prescriptions 10
Eyeglasses, contact lens, and vision prescription data and their lens specifications.
- ClHKVisionPrescriptioniOS 16.0+@class HKVisionPrescription
- ClHKVisionPrismiOS 16.0+@class HKVisionPrism
- ClHKLensSpecificationiOS 16.0+@class HKLensSpecification
- ClHKGlassesLensSpecificationiOS 16.0+@class HKGlassesLensSpecification
- ClHKGlassesPrescriptioniOS 16.0+@class HKGlassesPrescription
- ClHKContactsLensSpecificationiOS 16.0+@class HKContactsLensSpecification
- ClHKContactsPrescriptioniOS 16.0+@class HKContactsPrescription
- EnHKVisionPrescriptionTypeiOS 16.0+@enum HKVisionPrescriptionType
- EnHKPrismBaseiOS 16.0+@enum HKPrismBase
- EnHKVisionEyeiOS 16.0+@enum HKVisionEye
Mental Health and Assessments 4
State-of-mind logging and standardized clinical assessment questionnaires.
- ClHKStateOfMindiOS 18.0+Represents how one feels, including descriptors of a feeling and optionally, its source.
- ClHKScoredAssessmentiOS 18.0+@class HKScoredAssessment
- ClHKGAD7AssessmentiOS 18.0+Represents the result of a GAD-7 assessment. Learn more about Pfizer's GAD-7 at https://support.apple.com/en-us/105070
- ClHKPHQ9AssessmentiOS 18.0+Represents the result of a PHQ-9 assessment. Learn more about Pfizer's PHQ-9 at https://support.apple.com/en-us/105070
Attachments 3
Binary attachments associated with samples and the APIs to store and read them.
- ClHKAttachmentiOS 16.0+@class HKAttachment
- ClHKAttachmentStoreiOS 16.0+@class HKAttachmentStore
- ClHKAttachmentDataReaderiOS 16.0+The HKAttachmentDataReader class provides an interface for accessing the data of an HKAttachment object.
Category Values 21
Enumerations defining the allowed values for HealthKit's category sample types.
- EnHKCategoryValueiOS 9.0+@enum HKCategoryValue
- EnHKCategoryValueAppetiteChangesiOS 13.6+@enum HKCategoryValueAppetiteChanges
- EnHKCategoryValueAppleStandHouriOS 9.0+@enum HKCategoryValueAppleStandHour
- EnHKCategoryValueAppleWalkingSteadinessEventiOS 15.0+@enum HKCategoryValueAppleWalkingSteadinessEvent
- EnHKCategoryValueCervicalMucusQualityiOS 9.0+@enum HKCategoryValueCervicalMucusQuality
- EnHKCategoryValueContraceptiveiOS 14.3+@enum HKCategoryValueContraceptive
- EnHKCategoryValueEnvironmentalAudioExposureEventiOS 14.0+@enum HKCategoryValueEnvironmentalAudioExposureEvent
- EnHKCategoryValueHeadphoneAudioExposureEventiOS 14.2+@enum HKCategoryValueHeadphoneAudioExposureEvent
- EnHKCategoryValueLowCardioFitnessEventiOS 14.3+@enum HKCategoryValueLowCardioFitnessEvent
- EnHKCategoryValueMenopausalStateiOS 27.0+@enum HKCategoryValueMenopausalState
- EnHKCategoryValueMenstrualFlow@enum HKCategoryValueMenstrualFlow
- EnHKCategoryValueOvulationTestResultiOS 9.0+@enum HKCategoryValueOvulationTestResult
- EnHKCategoryValuePregnancyTestResultiOS 15.0+@enum HKCategoryValuePregnancyTestResult
- EnHKCategoryValuePresenceiOS 13.6+@enum HKCategoryValuePresence
- EnHKCategoryValueProgesteroneTestResultiOS 15.0+@enum HKCategoryValueProgesteroneTestResult
- EnHKCategoryValueSeverityiOS 13.6+@enum HKCategoryValueSeverity
- EnHKCategoryValueSleepAnalysisiOS 8.0+@enum HKCategoryValueSleepAnalysis
- EnHKCategoryValueVaginalBleedingiOS 18.0+@enum HKCategoryValueVaginalBleeding
- EnHKCategoryValueAudioExposureEvent@enum HKCategoryValueAudioExposureEvent
- EnHKAppleSleepingBreathingDisturbancesClassificationiOS 18.0+@enum HKAppleSleepingBreathingDisturbancesClassification
- EnHKAppleWalkingSteadinessClassificationiOS 15.0+@enum HKAppleWalkingSteadinessClassification
Measurement Context Enumerations 6
Enumerations describing the conditions and sensors under which quantity samples are recorded.
- EnHKBloodGlucoseMealTimeiOS 11.0+@enum HKBloodGlucoseMealTime
- EnHKBodyTemperatureSensorLocationiOS 8.0+Constants indicating the body location where temperature was measured.
- EnHKCyclingFunctionalThresholdPowerTestTypeiOS 17.0+@enum HKCyclingFunctionalThresholdPowerTestType
- EnHKVO2MaxTestTypeiOS 11.0+@enum HKVO2MaxTestType
- EnHKWaterSalinityiOS 17.0+@enum HKWaterSalinity
- EnHKWeatherConditioniOS 10.0+Constants describing the weather condition recorded for a workout.
Enumerations 3
- EnHKWorkoutEffortRelationshipQueryOptionsiOS 18.0+@enum HKWorkoutEffortRelationshipQueryOptions
- EnHKWorkoutSessionStateiOS 17.0+@enum HKWorkoutSessionState
- EnHKWorkoutSessionTypeiOS 17.0+@enum HKWorkoutSessionType
Type Aliases 1
- TyHKObserverQueryCompletionHandler