About the benefits of GraphQL


Is it currently possible to retrieve all meetings from a user list as mentioned in the explanation of under-fetching in GraphQL?

User vs. UserMeta

When querying for users with “query users,” it returns a “UserConnection → edges[UserMeta]” object instead of “User,” and it seems that you cannot retrieve “meetings” directly from “UserMeta”.

Query Limitation

GraphQL imposes a limit of 5 operations per query, which means that with “query meetings,” you can only retrieve meetings for 5 users at a time.

maximum query resources call exceeded 6>5

IMeeting vs. Meeting

Even when you can retrieve meetings, it appears that the object is named “IMeeting” rather than “Meeting,” which may affect your ability to access attributes like “agenda” and “trackingFields.”

Date Filtering

Unlike REST API’s “List meetings” where you can specify parameters like “from” and “to” to filter meetings for specific dates, GraphQL doesn’t seem to provide a similar mechanism.

Filtering Functionality

Does Zoom’s GraphQL support filtering functionality?
Filters are especially important for dates.
Necessary when checking for duplicates when registering a schedule.

Regarding the “meetingType” in the “query meetings” for “LIVE” and “UPCOMING,” meetings that have exceeded their scheduled duration can only be retrieved under “LIVE.”
Is there a way to get all live (extended) and scheduled meetings in one access?

Please let me know if there is a correct way to retrieve this information.

With the current usage, GraphQL doesn’t offer much benefit as the requests are only reduced to about 1/5 (due to fetching five people at a time). Moreover, since date filtering isn’t possible, one could argue that the situation is rather challenging. :sob:

Hi @HT2M

Graphql is currently at a beta stage and we are still trying to understand how our users want to use it. Let me know if you would like to schedule a meeting with me to better understand your use case.


Thank you for your reply, @ojus.zoom .

I appreciate the offer, but I’m not proficient in English, so I’d prefer to continue our communication through text. I’m happy to provide the information you need.

I’m currently working on a system to easily schedule Zoom appointments.
GraphQL has been instrumental in retrieving the current reservations.

With REST API, I had to access “LIVE” and “UPCOMING” for each license separately, which took several seconds due to the need for “licenses*2” accesses.
The reason for retrieving “LIVE” separately was to obtain ongoing meetings that have exceeded their scheduled time.

In GraphQL, I can now retrieve this information using “(licenses/5)*2,” which has made the process faster.
However, previously, I used Agenda to identify meetings by including information about the creator and the room. Since GraphQL doesn’t allow me to access Agenda in the meeting list, I had to rewrite it to include an encrypted string in the Topic field and decode it for identification when displaying.
This is where I believe trackingFields could be highly useful.

Additionally, if I could select multiple options for “MeetingQueryType” and obtain the value for “status,” it would streamline the process.

Since I have the flexibility to choose the items to retrieve in GraphQL, I would prefer to obtain all values rather than a simplified type like “IMeeting.”

When creating meetings, I need to control the number of meetings held on the same day, up to “licenses*2” I do this by checking the availability of licenses using REST API with “From” and “To.” Previously, I used to create a list and then check, but it was time-consuming, so I stopped the process as soon as I found an available license.
Due to this, I can’t check for duplicate meeting names anymore.
(Meetings are extended beyond their scheduled duration, so I’m only checking for date duplications.)
However, “From” and “To” in REST API don’t account for time zones, so I retrieve data for two days, calculate the time difference, and then filter for today’s data.

Could you please let me know if these mechanisms are currently achievable with GraphQL, not achievable, or planned for future implementation?