Skip to content
AF

HealthKit Deprecated and Beta Types

0 beta · 5 undocumented · 4 deprecated · read from Apple’s documentation on 2026-10-02

Apple marks 4 of 241 HealthKit identifiers deprecated: dance, danceInspiredTraining, mixedMetabolicCardioTraining and audioExposureEvent. None is beta.

Four of the 241 HealthKit type identifiers in this dataset are deprecated, as of this site's 2026-10-02 read of Apple's documentation: the workout activity constants dance (deprecated in iOS 14.0), danceInspiredTraining (iOS 10.0) and mixedMetabolicCardioTraining (iOS 11.0), and the category type audioExposureEvent (iOS 14.0). None has been removed. All 241, the four included, still carry an availability entry for each of the six platforms Apple documents: iOS, iPadOS, Mac Catalyst, macOS, visionOS and watchOS. There is no watchOS-only type and no iOS-only type in the set.

Where Apple records it. Apple's documentation JSON marks a deprecation by giving a platform entry a deprecatedAt version. The deprecated flag beside it was false on every platform entry of every identifier in the 2026-10-02 read, the four deprecated ones included. Until 2026-10-02 this site's generator read only that flag, and this page reported that nothing in HealthKit was deprecated. That was wrong, and the corrections log records it.

Each deprecated type comes with a note saying what to use instead. Apple's note on dance reads "Use HKWorkoutActivityType.cardioDance or HKWorkoutActivityType.socialDance instead." The note on danceInspiredTraining points to dance, barre or pilates, and dance was itself deprecated in iOS 14.0, so following the older note lands you on a second deprecated constant. mixedMetabolicCardioTraining points to mixedCardio or highIntensityIntervalTraining. audioExposureEvent is the one Apple records as a rename: its availability data names HKCategoryTypeIdentifier.environmentalAudioExposureEvent as the new name, and its note says to use that instead.

Apple's group name only catches three of them. Apple files dance, danceInspiredTraining and mixedMetabolicCardioTraining under a topic group named "Deprecated activity types", so a check for that group finds them. audioExposureEvent sits in Apple's Hearing group, next to environmentalAudioExposureEvent, the type Apple names as its replacement, and only the availability data marks it. Check deprecatedAt, not the group name.

The platforms do not all agree. None of the four carries a deprecatedAt on its macOS entry. On visionOS all four show 1.0, the same version Apple gives for their introduction there, and on watchOS the versions run from 3.0 to 7.0. The table below lists every platform Apple gives a version for.

No identifier is marked beta in the 2026-10-02 read. The two that were marked beta on 2026-08-28 are bleedingAfterMenopause and menopausalState, both category types introduced in iOS 27.0; the flag was the only thing that changed in their rows. menopausalState resolves to its own value enum, HKCategoryValueMenopausalState. bleedingAfterMenopause does not resolve to one at all in this dataset — it is one of only two category types without a resolved value enum.

Five identifiers are listed with no abstract at all as of 2026-10-02: appleSleepingBreathingDisturbances, estimatedWorkoutEffortScore, workoutEffortScore, heartRateVariabilityRMSSD and hypertensionEvent. The first four are quantity types that also have no stated aggregation style and no unit family, which means there is no documented answer to what they measure, in what, or whether you may add them together. hypertensionEvent is a category type from iOS 26.2 with no abstract, no discussion and no resolved value enum.

59 identifiers carry zero words of discussion prose as of 2026-10-02, and the median discussion length across the whole set is 15 words. Silence is not a lifecycle status, but it has the same practical effect: an undocumented type is one you cannot verify your assumptions against, and assumptions about health data tend to be wrong in ways that never throw.

So the honest four-part answer to "is X safe to build on" is: four identifiers are deprecated in Apple's availability data, three of them in the group Apple named for it and audioExposureEvent outside it; none is beta as of 2026-10-02; and a much larger population is simply underdocumented. The counts come from this site's HealthKit identifier dataset, read from Apple's developer documentation on 2026-10-02. Which release each identifier arrived in is on HealthKit types by iOS version. For what the silent ones cost you in practice, see the silent types, and for how these judgements are made, how we verify. If a type you depend on does go away, migrating off a deprecated API covers the mechanics.

The four status edges of the catalogue

Every count below is read from Apple’s documentation for the 241 identifiers on 2026-10-02. Beta and deprecation are per-platform facts in Apple’s availability data — a deprecation is a deprecatedAt version on a platform entry; “undocumented” means Apple ships the declaration with neither an abstract nor a discussion.

Beta — 0 identifiers

No identifier is marked beta on any platform in this read.

No abstract — 5 identifiers

Apple ships these with a declaration and nothing else — no abstract, no discussion. The types exist and compile; what they contain and how Apple derives them is simply not stated, so anything you infer from observed values is unverified.

IdentifierFamilyiOSApple’s abstract
appleSleepingBreathingDisturbancesquantity18.0Apple publishes no abstract for this type.
estimatedWorkoutEffortScorequantity18.0Apple publishes no abstract for this type.
heartRateVariabilityRMSSDquantity27.0Apple publishes no abstract for this type.
workoutEffortScorequantity18.0Apple publishes no abstract for this type.
hypertensionEventcategory26.2Apple publishes no abstract for this type.

Deprecated — 4 identifiers

Apple gives each of these a deprecatedAt version on at least one platform entry. In Apple’s 2026-10-02 JSON the separate deprecated flag was false on every platform entry, these included, so a tool that reads only the flag reports none. Their macOS entries carry no deprecation at all. The note is Apple’s, verbatim.

IdentifierIntroducedDeprecated inApple’s note
audioExposureEventcategory · HearingiOS 13.0iOS 14.0 · iPadOS 14.0 · Mac Catalyst 14.0 · visionOS 1.0 · watchOS 7.0Use environmentalAudioExposureEvent instead.Renamed to HKCategoryTypeIdentifier.environmentalAudioExposureEvent
danceworkoutActivity · Deprecated activity typesiOS 8.0iOS 14.0 · iPadOS 14.0 · Mac Catalyst 14.0 · visionOS 1.0 · watchOS 7.0Use HKWorkoutActivityType.cardioDance or HKWorkoutActivityType.socialDance instead.
danceInspiredTrainingworkoutActivity · Deprecated activity typesiOS 8.0iOS 10.0 · iPadOS 10.0 · Mac Catalyst 13.1 · visionOS 1.0 · watchOS 3.0Use HKWorkoutActivityType.dance, HKWorkoutActivityType.barre, or HKWorkoutActivityType.pilates instead.
mixedMetabolicCardioTrainingworkoutActivity · Deprecated activity typesiOS 8.0iOS 11.0 · iPadOS 11.0 · Mac Catalyst 13.1 · visionOS 1.0 · watchOS 4.0Use HKWorkoutActivityType.mixedCardio or HKWorkoutActivityType.highIntensityIntervalTraining instead.

Apple’s deprecated group — 3 identifiers

Apple files these under a topic group named “Deprecated activity types”. All 3 are also deprecated in the availability data above, so for these the group and the data agree. The group is not the whole list: audioExposureEvent (Hearing) is deprecated outside it, so checking group names misses it.

IdentifierFamilyiOSApple’s abstract
danceworkoutActivity8.0The constant for dancing.
danceInspiredTrainingworkoutActivity8.0The constant for workouts inspired by dance, including Pilates, Barre, and Feldenkrais.
mixedMetabolicCardioTrainingworkoutActivity8.0The constant for performing any mix of cardio-focused exercises.

What will bite you

Check the version, not the flag. Apple's deprecated flag was false on every platform entry in HealthKit's documentation JSON on 2026-10-02, including the four deprecated identifiers'. If you build tooling over Apple's JSON, read deprecatedAt. A tool that reads the flag reports a clean catalogue, which is how this page got it wrong.

A replacement can be deprecated too. danceInspiredTraining's note sends you to dance, which Apple deprecated in iOS 14.0. Treat the symbol a deprecation note names as something to check, not something to trust.

Deprecated is not removed. All four keep availability entries on all six platforms, and Apple marks none of those entries unavailable. Keep them in your read path and map them to a readable label, so data written with them still renders; stop offering them in anything a user picks from or that your app writes.

Deprecation also happens below the type. A type can be current while one of its enum values is not. Apple deprecated the .asleep value of HKCategoryValueSleepAnalysis in iOS 16.0: its availability data names asleepUnspecified as the new name, and its note says to use asleepCore, asleepDeep, asleepREM or asleepUnspecified instead. An integration reading sleepAnalysis can be building on a deprecated value inside a non-deprecated type, and a type-level check will never surface that. Error codes have the same problem: noError in HKError.Code is deprecated as of iOS 27.2 with unknownError as its new name, and Apple ships unknownError with no description at all — see every HealthKit error code.

A cleared beta flag is not documentation. bleedingAfterMenopause and menopausalState lost their beta flags between this site's 2026-08-28 and 2026-10-02 reads, and bleedingAfterMenopause still has no value enum resolved in this dataset. Before you persist its samples keyed by a raw integer value, read its value set on Apple's page yourself, and keep the raw sample so you can re-derive your interpretation if you got it wrong.

Undocumented is the largest risk category, and it has no flag. As of 2026-10-02, five types have no abstract and 59 have no discussion. Nothing in the API distinguishes them from a well-documented type at call time, so the guard has to be yours: verify against Apple's page for that identifier before you ship a rollup, and record what you found and when.

Questions

Are any HealthKit type identifiers deprecated?

Four of 241, as of this site's 2026-10-02 read of Apple's documentation: dance (deprecated in iOS 14.0), danceInspiredTraining (iOS 10.0), mixedMetabolicCardioTraining (iOS 11.0) and audioExposureEvent (iOS 14.0). Apple records each as a deprecatedAt version on the platform entries, while its separate deprecated flag stays false. The first three sit in Apple's Deprecated activity types group; audioExposureEvent sits in Hearing, and Apple names environmentalAudioExposureEvent as its new name.

Which HealthKit identifiers are in beta?

None, as of the 2026-10-02 read of Apple's documentation. The two that were marked beta on 2026-08-28, bleedingAfterMenopause and menopausalState, are reproductive health category types introduced in iOS 27.0, and the flag was the only thing that changed in their rows. bleedingAfterMenopause still has no value enum resolved in this dataset.

How do I tell whether a HealthKit type is safe to build on?

Check four things rather than one: whether any platform entry carries a deprecatedAt version, what Apple's deprecation note says to use instead, whether it is beta, and whether Apple actually documented it. That last one catches the most cases here: as of 2026-10-02, five identifiers have no abstract at all and 59 have no discussion prose.

Derived by AIFitnessAPI from Apple’s published documentation, read 2026-10-02. The full table with units, aggregation and value enums is at every HealthKit type identifier, and the machine-readable export is on datasets.