<!--
{
  "availability" : [
    "watchOS: 2.0.0 - 27.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "ClockKit",
  "identifier" : "/documentation/ClockKit/CLKComplicationServer",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "ClockKit"
    ],
    "preciseIdentifier" : "c:objc(cs)CLKComplicationServer"
  },
  "title" : "CLKComplicationServer"
}
-->

# CLKComplicationServer

An object that manages the active complications for an app.

```
class CLKComplicationServer
```

## Overview

Don’t create instances of this class directly. Instead, use the shared object to fetch information about your active complications and to invalidate or extend the data for a specific complication. You can also use it to get information about the minimum and maximum dates for which you need to provide data to support Time Travel.

## Topics

### Getting the Complication Server

[`sharedInstance()`](/documentation/ClockKit/CLKComplicationServer/sharedInstance())

Returns the shared complication server.

### Getting the Active Complications

[`activeComplications`](/documentation/ClockKit/CLKComplicationServer/activeComplications)

The active complications for the current app.

### Updating Your Timeline Data

[`reloadTimeline(for:)`](/documentation/ClockKit/CLKComplicationServer/reloadTimeline(for:))

Invalidates your existing timeline data and triggers an update session to reload it.

[`extendTimeline(for:)`](/documentation/ClockKit/CLKComplicationServer/extendTimeline(for:))

Asks the system to extend the data in your complication’s timeline.

### Updating Complication Types

[`reloadComplicationDescriptors()`](/documentation/ClockKit/CLKComplicationServer/reloadComplicationDescriptors())

Reloads the complication descriptors from the complication data source.

### Receiving Change Notifications

[`CLKComplicationServerActiveComplicationsDidChangeNotification`](/documentation/ClockKit/CLKComplicationServerActiveComplicationsDidChangeNotification)

Posted when the set of active complications changes.

### Getting the Time Travel Boundaries

[`earliestTimeTravelDate`](/documentation/ClockKit/CLKComplicationServer/earliestTimeTravelDate)

The earliest Time Travel date for which you should provide data.

[`latestTimeTravelDate`](/documentation/ClockKit/CLKComplicationServer/latestTimeTravelDate)

The latest date supported by Time Travel.



---

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)