<!--
{
  "documentType" : "article",
  "framework" : "HealthKit",
  "identifier" : "/documentation/HealthKit/workouts-and-activity-rings",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Workouts and activity rings"
}
-->

# Workouts and activity rings

Manage workouts, workout sessions, and activity summaries.

## Discussion

A workout is a sample that contains data about an exercise or fitness activity. You save workout data using the [`HKWorkout`](/documentation/HealthKit/HKWorkout) class. In many ways, workouts are identical to any other HealthKit sample—the same advice and APIs apply to both workouts and samples. However, workouts do have a number of unique features, described in [`HKWorkout`](/documentation/HealthKit/HKWorkout).

Workout sessions let you track the user’s activity on Apple Watch. While  a workout session is active, your app can continue to run in the background. This lets your app monitor the user and gather data throughout the activity. Additionally, it ensures that your app appears whenever the user checks their watch. After the session ends, your app saves the activity’s data as a workout sample. For more information on setting up and running workout sessions, see [`HKWorkoutSession`](/documentation/HealthKit/HKWorkoutSession).

The Activity Rings display a summary of the user’s daily activity on Apple Watch and in the Activity app. Activity summaries provide access to the data displayed in the user’s Move, Exercise, and Stand rings. To see how your workout samples contribute to these rings, see [`Fill the Activity rings`](/documentation/HealthKit/HKWorkout#Fill-the-Activity-rings). To learn more about accessing and displaying activity data in your app, see Activity rings.

Finally, workout routes record the user’s path during an outdoor activity (for example, while walking, running, or cycling). Routes can be associated with a workout sample. For more information, see <doc://com.apple.healthkit/documentation/HealthKit/creating-a-workout-route> and <doc://com.apple.healthkit/documentation/HealthKit/reading-route-data>.

## Topics

### Samples

  <doc://com.apple.healthkit/documentation/HealthKit/adding-samples-to-a-workout>

  <doc://com.apple.healthkit/documentation/HealthKit/accessing-condensed-workout-samples>

  <doc://com.apple.healthkit/documentation/HealthKit/dividing-a-healthkit-workout-into-activities>

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

A workout sample that stores information about a single physical activity.

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

An object that describes an activity within a longer workout.

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

A builder object that incrementally constructs a workout.

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

A type that identifies samples that store information about a workout.

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

The workout type identifier.

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

The type of activity performed during a workout.

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

The type of session.

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

An object representing an important event during a workout.

### Sessions

  <doc://com.apple.healthkit/documentation/HealthKit/running-workout-sessions>

  <doc://com.apple.healthkit/documentation/HealthKit/build-a-workout-app-for-apple-watch>

  <doc://com.apple.healthkit/documentation/HealthKit/building-a-multidevice-workout-app>

  <doc://com.apple.healthkit/documentation/HealthKit/building-a-workout-app-for-iphone-and-ipad>

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

A session that tracks a person’s workout.

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

An object that contains configuration information about a workout session.

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

A workout session’s state.

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

A builder object that constructs a workout incrementally based on live data from an active workout session.

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

A protocol that defines methods for receiving updates from a live workout builder.

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

A data source that automatically provides live data from an active workout session.

### Activity rings

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

An object that contains the move, exercise, and stand data for a given day.

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

A query interface that reads activity summaries using Swift concurrency.

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

A query for reading activity summary objects from the HealthKit store.

[`HKActivityRingView`](/documentation/HealthKitUI/HKActivityRingView)

A view that uses the Move, Exercise, and Stand activity rings to display data from a HealthKit activity summary object.

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

An object that contains a movement mode value.

### Route data

  <doc://com.apple.healthkit/documentation/HealthKit/creating-a-workout-route>

  <doc://com.apple.healthkit/documentation/HealthKit/reading-route-data>

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

A builder object that incrementally constructs a workout route.

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

A sample that contains a workout’s route data.

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

A query interface that reads the location data stored in a workout route using Swift concurrency.

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

A query to access the location data stored in a workout route.

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

A series sample containing location data that defines the route the user took during a workout.

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

An abstract base class for building series samples.

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

An abstract base class that defines samples that contain a series of items.

### Workout zones

  <doc://com.apple.healthkit/documentation/HealthKit/tracking-heart-rate-zones-for-workouts>

  <doc://com.apple.healthkit/documentation/HealthKit/accessing-workout-zone-data>

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

A structure that represents a single zone with defined thresholds for a quantity type.

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

A structure that defines a complete set of zones for a quantity type.

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

A structure that represents the time spent in a specific zone during a workout or activity.

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

A structure that contains zone configuration and time-in-zone data for a quantity type.

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

A structure that contains information about zone transitions during a live workout session.



---

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)