Getting wrong timezones while creating events through the API

Hi! The Zoom API is extremely useful for me, so thanks for that! I’m creating meetings from time to time, using a NodeJS script. These events are scheduled for different timezones, so I’m converting the times to UTC. After some trial and error, this seemed to be the only solution.

However, this is not working for one of the timezones I need: London. When I create events for London, it interprets my ISO string as a London time, not as a UTC time. In the summer, London times are GMT+1.

Description
I’m creating events in two different timezones through a script, using UTC times as ISO strings. Those for the New York timezone are fine, but those created for London get assigned the wrong time by 1h.

Error
No error message, the events are created apparently ok.

Which App Type (OAuth / Chatbot / JWT / Webhook)?
JWT

Which Endpoint/s?
POST to /users/[userId]/meetings , link

How To Reproduce (If applicable)
I try to create an Event scheduled for 19:00 in New York, so I convert the time to UTC and I get “2021-08-16T23:00:00.000Z”. So I send the following JSON:

{
    "topic": "Huddle",
    "type": 2,
    "timezone": "America/New_York",
    "duration": 60,
    "weekday": 0,
    "start_time": "2021-08-16T23:00:00.000Z",
    "description": "...",
    "agenda": "...",
    "password": "156863",
    "settings": {
      "host_video": true,
      "participant_video": true,
      "mute_upon_entry": true,
      "auto_recording": "none",
      "waiting_room": false
    }
  }

(The passwords are randomly generated)

When I want to do the same for an event scheduled for 9:00 AM London time, I translate that to 08:00 UTC, and to ISO string: “2021-08-16T08:00:00.000Z”. I get the following JSON:

{
    "topic": "Huddle",
    "type": 2,
    "timezone": "Europe/London",
    "duration": 60,
    "weekday": 0,
    "start_time": "2021-08-16T08:00:00.000Z",
    "description": "...",
    "agenda": "....",
    "password": "761381",
    "settings": {
      "host_video": true,
      "participant_video": true,
      "mute_upon_entry": true,
      "auto_recording": "none",
      "waiting_room": false
    }
  }

Result: The first event gets scheduled for the correct time, 23:00 UTC; the second get scheduled for 08:00 UK, and not 08:00 UTC.

Screenshots (If applicable)
Sorry, I fix it manually every time and I’ve already done that. I can send screenshots in a few days if you need me to.

Additional context
I work for a british company, so London is probably the default timezone on our account.

Hi @Jesus_OYNB,

I noticed that you’re passing a more granular timesteamp with milliseconds, which our API doesn’t support:
image

Can you make sure you’re following this format:
image

Let me know if you’re still seeing issues after making this adjustment. And note that the API will always return the time in UTC.

Thanks!
Will

1 Like

Huh, you’re absolutely right, and it says as much in the documentation, my bad. Thanks a lot!

I was assuming it was just an ISO string. May be it would be better for the API to return an error if the format is incorrect?

Glad I could help! And that’s a good suggestion, I’ll be happy to share this feedback with the team. :slight_smile: