<!--
{
  "availability" : [
    "iOS: 14.0.0 -",
    "iPadOS: 14.0.0 -",
    "macCatalyst: 14.0.0 -",
    "macOS: 11.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ClassKit",
  "identifier" : "/documentation/ClassKit/CLSContext/progressReportingCapabilities",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "ClassKit"
    ],
    "preciseIdentifier" : "c:objc(cs)CLSContext(py)progressReportingCapabilities"
  },
  "title" : "progressReportingCapabilities"
}
-->

# progressReportingCapabilities

The kinds of progress reporting that the context can perform.

```
var progressReportingCapabilities: Set<CLSProgressReportingCapability> { get }
```

## Discussion

Use progress reporting capabilities to tell teachers what kinds of metrics — like duration, percentage completion, or a score — that a context records.

By default, all contexts have a [`CLSProgressReportingCapability.Kind.duration`](/documentation/ClassKit/CLSProgressReportingCapability/Kind-swift.enum/duration) capability, because the framework automatically measures time spent on activities —– the time between when you call the [`start()`](/documentation/ClassKit/CLSActivity/start()) and [`stop()`](/documentation/ClassKit/CLSActivity/stop()) methods. You can add one or more other capabilities using the [`addProgressReportingCapabilities(_:)`](/documentation/ClassKit/CLSContext/addProgressReportingCapabilities(_:)) method, corresponding to the other kinds of activity that you report for a context. For example, if you set the [`progress`](/documentation/ClassKit/CLSActivity/progress) property of an activity, add the [`CLSProgressReportingCapability.Kind.percent`](/documentation/ClassKit/CLSProgressReportingCapability/Kind-swift.enum/percent) capability. Typically, you perform this configuration when creating the context.

The values that you put in the progress reporting capability set don’t affect your ability to record metrics. But they do affect the presentation of your app in the Schoolwork app.

To revert to the default state of reporting only duration, call the [`resetProgressReportingCapabilities()`](/documentation/ClassKit/CLSContext/resetProgressReportingCapabilities()) method.

---

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)