Zwift workout upload fails on DST change day

Description
When uploading a workout from Intervals.icu to Zwift on the day the clocks change (DST end), the upload fails with:

Zwift upload failed: The notAvailableAfter time parameter must be within 24 hours of the availableAfter time parameter specified

No settings were changed on my side. This only happens for the Sunday that has 25 hours (DST → standard time).

Environment

  • Intervals.icu athlete timezone: Europe/Paris
  • Target day: last Sunday of October (DST end; 25-hour day)
  • Integration: Zwift Workout upload
  • Visibility window (Intervals.icu): typical “visible before/after” values (e.g., 12 h before + 12 h after)

Steps to reproduce

  1. In Intervals.icu, schedule a workout for the DST change Sunday (Europe/Paris).
  2. Use Zwift integration to upload the workout with a standard visibility window (e.g., 12 h before + 12 h after).
  3. Observe the error above.

Expected
Workout uploads successfully and appears in Zwift for the configured window.

Actual
Zwift rejects the request because the computed notAvailableAfter – availableAfter exceeds 24 hours on the 25-hour DST day.

Workarounds

  • Upload the workout on the morning of the day itself (after the DST switch), so the window stays ≤ 24 h.
  • Temporarily reduce the visibility window to a total ≤ 23 h (e.g., 6 h before + 16–17 h after) and re-upload.
  • Export .zwo and place it in the Zwift Workouts folder (no API window involved).

Suggestion
Clamp the Zwift visibility window to ≤ 24 h in the request (or compute in UTC and guard against DST day length), so that standard user settings don’t fail on the DST changeover.

Thanks for the good work!

6 Likes

Hello,

Zwift upload fails for a workout on Sunday 26th October, which happens to be the day when we fiddle with our clocks and get to live 25 hours on one day. This is likely the cause of the following Zwift workout sync error:

{
  "push_errors": [
    {
      "date": "2025-10-25T07:42:10.492Z",
      "message": "The notAvailableAfter time parameter must be within 24 hours of the availableAfter time parameter specified",
      "service": "Zwift"
    }
  ]
}

Let me know if you need more details.

Cheers,
Kim

This should be fixed now, for deployment on Friday AM. Hopefully before the next DST change.

1 Like

It happened for me:
Zwift upload failed: The notAvailableAfter time parameter must be in the future