Zoom API recurring meeting bug

═══════════════════════════════════════════════════════════════════

ROOT CAUSE IDENTIFIED: Daylight Saving Time Bug in Zoom API
═══════════════════════════════════════════════════════════════════

THE SMOKING GUN:

User reported: “Issues noticed in the last two weeks”
Date of report: January 28, 2026
Timeline:

  • Meetings created: April-August 2025 (during MDT)
  • Worked fine: April → November 2025
  • DST ended: November 2, 2025 (clocks fell back)
  • Problems started: ~January 2026 (2+ months after DST change)

THE PROBLEM:

Zoom’s API is returning INCORRECT UTC times for recurring meetings that:

  1. Were created during Daylight Saving Time (MDT, UTC-6)
  2. Are now generating occurrences during Standard Time (MST, UTC-7)

MATHEMATICAL PROOF:

Meeting ID 85345560457 configured for 5pm Denver:

CORRECT BEHAVIOR:
During MDT (summer): 5pm MDT = 5pm + 6 hours = 23:00 UTC (11pm)
During MST (winter): 5pm MST = 5pm + 7 hours = 00:00 UTC next day (midnight)

WHAT ZOOM IS DOING (WRONG):
Occurrences in Jan 2026: Returns 2026-01-30T06:00:00Z
This equals: 6am UTC = 11pm MST (previous day)

WHAT ZOOM SHOULD DO:
Occurrences in Jan 2026: Should return 2026-01-30T00:00:00Z
This equals: midnight UTC = 5pm MST (previous day) ✓

THE OFFSET PATTERN:

Meeting 85345560457: 06:00 UTC (should be 00:00)

  • 6 hours too late
  • This is exactly the MDT offset (UTC-6)
  • Zoom is applying summer offset to winter occurrences!

Meeting 84538274892: 09:00 UTC

  • 9 hours too late
  • This suggests either:
    • Meeting was created in Pacific Time (UTC-8) + DST issue
    • Or double offset error

Meeting 89035466055: 00:00 UTC ✓ CORRECT

  • Likely created during MST (winter)
  • Or created recently after Zoom fixed their bug
  • Or manually corrected in Zoom interface

SUPPORTING EVIDENCE:

  1. User reports meeting “occurrence already passed”

    • Trying to join at 5pm Thursday
    • System thinks meeting was at 11pm Thursday (already happened)
    • This is because Zoom returned 06:00 UTC = 11pm Wednesday
  2. Yahoo email fix was unnecessary

    • The issue wasn’t email format
    • The issue was meeting times being wrong in the data
  3. Timing of problem discovery

    • Not noticed until January (2 months after DST change)
    • Suggests gradual realization as affected meetings approached
  4. Some meetings work, others don’t

    • Pattern matches MDT vs MST creation time

WHY YOUR CODE IS CORRECT:

Your code is doing EXACTLY what it should:

Input: 2026-01-30T06:00:00Z (what Zoom sends)
Process: 6am UTC - 7 hours MST offset = 11pm previous day
Output: 2026-01-29 23:00:00 MST

This is mathematically perfect. The bug is in Zoom’s data.

hi @mistersoader
Thanks for reaching out to us and sharing your findings.
Are you still having this issue at the moment?