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

# getTimelineEndDate(for:withHandler:)

Retrieves the last date for the data that your app can supply.

```
optional func getTimelineEndDate(for complication: CLKComplication, withHandler handler: @escaping (Date?) -> Void)
```

## Parameters

`complication`

The complication tied to the request.

`handler`

The handler to execute with the end date. This block has no return value and takes the following parameter:

- `date`: The end date for your data. If you specify `nil`, ClockKit doesn’t ask for any more future data.

## Discussion

Your implementation of this method must execute the block in the handler parameter and specify the date. If your application can’t provide future timeline entries, specify the current date.

If you don’t implement this method, ClockKit doesn’t attempt to retrieve timeline entries after the current entry.

> Important:
> In watchOS 6 and earlier, if you passed `nil` to the completion handler, ClockKit set the timeline end date to <doc://com.apple.documentation/documentation/Foundation/NSDate/distantFuture>. In watchOS 7 and later, it assumes your app can’t provide future data, and only asks for the current timeline entry.

---

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)