<!--
{
  "availability" : [
    "watchOS: 3.0.0 - 5.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "HealthKit",
  "identifier" : "/documentation/HealthKit/HKWorkoutSession/init(configuration:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "HealthKit"
    ],
    "preciseIdentifier" : "c:objc(cs)HKWorkoutSession(im)initWithConfiguration:error:"
  },
  "title" : "init(configuration:)"
}
-->

# init(configuration:)

Returns a newly instantiated workout session.

```
init(configuration workoutConfiguration: HKWorkoutConfiguration) throws
```

## Parameters

`workoutConfiguration`

A workout configuration object containing the configuration data for this workout session.

## Return Value

A newly initialized workout session object, or `nil` if an error occurred.

## Discussion

HealthKit uses the session’s configuration data to fine tune Apple Watch’s sensors for the selected activity. All workout sessions generate higher-frequency heart rate samples; however, an outdoor cycling activity generates more accurate location data, while an indoor cycling activity does not.

---

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)