Using GraphQL

View as Markdown

Zoom GraphQL endpoint

GraphQL only requires one endpoint for all queries and mutations. Here is the Zoom GraphQL endpoint:

https://api.zoom.us/v3/graphql

Authentication

Authenticate using OAuth. Create an OAuth app or a Server-to-Server OAuth app to get credentials and see OAuth with Zoom for details.

You must have the required scopes to access the data in your query or mutation.

Pagination

Use the cursor value to get the next page token, then send it to get the next page of data. See the following samples and the GraphQL Pagination documentation  for details.

Request

{
    meetings(
        userId:"me",
        first:10,
        meetingType:PREVIOUS_MEETINGS
    ){
        edges {
            id
        }
        pageInfo{cursor}
    }
}

Response

{
    "data": {
        "meetings": {
            "edges": [
                {
                    "id": 93989529046
                },
                {
                    "id": 92631809138
                },
                {
                    "id": 92849539085
                },
                {
                    "id": 94292260890
                },
                {
                    "id": 99070971365
                },
                {
                    "id": 92260053040
                },
                {
                    "id": 92260053040
                },
                {
                    "id": 92260053040
                },
                {
                    "id": 92260053040
                },
                {
                    "id": 92260053040
                }
            ],
            "pageInfo": {
                "cursor": "mSrvrBJZhdALywcIEb1LmpEMDJ6whNfoSJ2"
            }
        }
    }
}

The cursor value is the token for the next page. Enter it using the after argument in your next request.

Request for the next page of values

{
  meetings(userId:"me",first:10,meetingType:PREVIOUS_MEETINGS,after:"DsitdziACFmWHu3nTYiGtaGEjB4P6fsve02"){
    edges {
    id
    }
    pageInfo{cursor}
  }
}

Response

{
    "data": {
        "meetings": {
            "edges": [
                {
                    "id": 92260053040
                },
                {
                    "id": 92260053040
                }
            ],
            "pageInfo": {
                "cursor": ""
            }
        }
    }
}

If there are no more pages, the cursor value will be empty.

Resources

For details about rate limits and scopes, see: