Using GraphQL

Beta

Zoom GraphQL is in a public beta.

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: