<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -",
    "macOS: 13.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "HealthKit",
  "identifier" : "/documentation/HealthKit/HKWorkoutActivity",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "HealthKit"
    ],
    "preciseIdentifier" : "c:objc(cs)HKWorkoutActivity"
  },
  "title" : "HKWorkoutActivity"
}
-->

# HKWorkoutActivity

An object that describes an activity within a longer workout.

```
class HKWorkoutActivity
```

## Overview

Workout activity objects partition a workout into a set of separate activities. For example, you can use workout activities to record the swim, bike, and running portions of a multisport event, like a triathlon, or to represent the active and rest periods during interval training. All [`HKWorkout`](/documentation/HealthKit/HKWorkout) instances have at least one associated [`HKWorkoutActivity`](/documentation/HealthKit/HKWorkoutActivity). If you don’t explicitly set workout activities, HealthKit assigns a workout activity that matches the [`HKWorkout`](/documentation/HealthKit/HKWorkout) object’s activity type. For more information, see <doc://com.apple.healthkit/documentation/HealthKit/dividing-a-healthkit-workout-into-activities>.

## Topics

### Creating workout activities

[`-  initWithWorkoutConfiguration:startDate:endDate:metadata:`](/documentation/HealthKit/HKWorkoutActivity/init(workoutConfiguration:start:end:metadata:))

Creates a workout activity using the provided configuration, start date, end date, and metadata.

### Accessing workout data

[`UUID`](/documentation/HealthKit/HKWorkoutActivity/uuid)

The activity’s universally unique identifier (UUID).

[`startDate`](/documentation/HealthKit/HKWorkoutActivity/startDate)

The activitiy’s start date and time.

[`endDate`](/documentation/HealthKit/HKWorkoutActivity/endDate)

The activity’s end date and time.

[`duration`](/documentation/HealthKit/HKWorkoutActivity/duration)

The activity’s duration, measured in seconds.

[`allStatistics`](/documentation/HealthKit/HKWorkoutActivity/allStatistics)

A dictionary that contains all the statistics for the activity.

[`-  statisticsForType:`](/documentation/HealthKit/HKWorkoutActivity/statistics(for:))

Returns the activity’s statistics for the provided quantity type.

[`metadata`](/documentation/HealthKit/HKWorkoutActivity/metadata)

Metadata that describes the activity.

[`workoutConfiguration`](/documentation/HealthKit/HKWorkoutActivity/workoutConfiguration)

The configuration information for this part of the workout.

[`workoutEvents`](/documentation/HealthKit/HKWorkoutActivity/workoutEvents)

An array of events associated with the containing workout and occurring during the activity’s duration.

### Accessing zone data

[`zoneGroupsByType`](/documentation/HealthKit/HKWorkoutActivity/zoneGroupsByType)

A property that contains a dictionary that maps quantity types to their zone groups for this activity.

[`zoneGroup(for:)`](/documentation/HealthKit/HKWorkoutActivity/zoneGroup(for:))

Returns a zone group for the specified quantity type.

### Specifying predicate key paths

[`HKPredicateKeyPathWorkoutActivity`](/documentation/HealthKit/HKPredicateKeyPathWorkoutActivity)

The key path for accessing a specific workout activity.

[`HKPredicateKeyPathWorkoutActivityType`](/documentation/HealthKit/HKPredicateKeyPathWorkoutActivityType)

The key path for accessing activities that match a workout activity type.

[`HKPredicateKeyPathWorkoutActivityStartDate`](/documentation/HealthKit/HKPredicateKeyPathWorkoutActivityStartDate)

The key path for accessing activities with a matching start date.

[`HKPredicateKeyPathWorkoutActivityEndDate`](/documentation/HealthKit/HKPredicateKeyPathWorkoutActivityEndDate)

The key path for accessing activities with a matching end date.

[`HKPredicateKeyPathWorkoutActivityDuration`](/documentation/HealthKit/HKPredicateKeyPathWorkoutActivityDuration)

The key path for accessing activities with a matching duration.

[`HKPredicateKeyPathWorkoutActivityAverageQuantity`](/documentation/HealthKit/HKPredicateKeyPathWorkoutActivityAverageQuantity)

The key path for accessing activities with a matching average quantity.

[`HKPredicateKeyPathWorkoutActivityMaximumQuantity`](/documentation/HealthKit/HKPredicateKeyPathWorkoutActivityMaximumQuantity)

The key path for accessing activities with a matching maximum quantity.

[`HKPredicateKeyPathWorkoutActivityMinimumQuantity`](/documentation/HealthKit/HKPredicateKeyPathWorkoutActivityMinimumQuantity)

The key path for accessing activities with a matching minimum quantity.

[`HKPredicateKeyPathWorkoutActivitySumQuantity`](/documentation/HealthKit/HKPredicateKeyPathWorkoutActivitySumQuantity)

The key path for accessing activities with a matching sum.

## Relationships

### Conforms To

[`NSCopying`](/documentation/Foundation/NSCopying)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`Hashable`](/documentation/Swift/Hashable)

[`NSSecureCoding`](/documentation/Foundation/NSSecureCoding)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Equatable`](/documentation/Swift/Equatable)

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`Sendable`](/documentation/Swift/Sendable)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)