<!--
{
  "availability" : [
    "watchOS: 2.0.0 - 7.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "ClockKit",
  "identifier" : "/documentation/ClockKit/CLKComplicationDataSource/getSupportedTimeTravelDirections(for:withHandler:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "ClockKit"
    ],
    "preciseIdentifier" : "c:objc(pl)CLKComplicationDataSource(im)getSupportedTimeTravelDirectionsForComplication:withHandler:"
  },
  "title" : "getSupportedTimeTravelDirections(for:withHandler:)"
}
-->

# getSupportedTimeTravelDirections(for:withHandler:)

Determines whether your complication can provide timeline entries for the future or the past.

```
optional func getSupportedTimeTravelDirections(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimeTravelDirections) -> Void)
```

## Parameters

`complication`

The complication tied to the request.

`handler`

The handler to execute with the Time Travel directions. This block has no return value and takes the following parameter:

- directions: The supported time travel directions. You may combine the values of the [`CLKComplicationTimeTravelDirections`](/documentation/ClockKit/CLKComplicationTimeTravelDirections) type when specifying this value.

## Discussion

The system calls this method to determine whether your app can provide future or past data entries for the specified complication type. Your implementation of this method must execute the block in the `handler` parameter and specify the supported directions.

Include the [`backward`](/documentation/ClockKit/CLKComplicationTimeTravelDirections/backward) constant if your app provides a historical record of events that have occurred or information that was valid at specific times. For example, a music app could provide entries for songs that have already played.

Include the [`forward`](/documentation/ClockKit/CLKComplicationTimeTravelDirections/forward) constant if your app is able to generate complication data tied to future dates. For example, a calendar app would provide entries for future meeting times.

In watchOS 7 and later, the system checks the value returned by [`getTimelineEndDate(for:withHandler:)`](/documentation/ClockKit/CLKComplicationDataSource/getTimelineEndDate(for:withHandler:)) instead. If the method returns a non-nil value, ClockKit attempts to bulk load future timeline entries. Otherwise, it only asks for the current timeline entry.

## Topics

### Time Travel Directions

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

Constants indicating the supported time travel directions, if any.



---

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)