# Zoom GraphQL overview > **Beta** > > Zoom GraphQL is in a public beta. See the [GraphQL beta FAQ](/docs/api/graphql/beta-faq) for details. [GraphQL](https://graphql.org/) is a query language for APIs as well as a runtime environment for filling those queries with data. ## Introduction to GraphQL GraphQL operations have a single entry point to fetch (query) or modify (mutate) data by describing it with syntax that mirrors its response payload. Here is the Zoom GraphQL endpoint: ```plaintext https://api.zoom.us/v3/graphql ``` With a GraphQL operation, you can describe the data that you want in your request, rather than sending multiple requests, like with RESTful API endpoints. With GraphQL, you can define the schema with your own custom objects using multiple fields. ## REST APIs: under fetching and over fetching Traditionally when using Rest APIs, the entities live on a bunch of endpoints on a server. When you make a request, it returns all the entities from that request. There are two drawbacks in this use case, under fetching and over fetching. ### Under fetching With REST APIs, you may need to make multiple requests to fetch multiple entities. For example, if you want to get the list of users in your Zoom account and all of their meetings, you'll need to call more than one API endpoint. This is an example of under fetching because you're not getting all the data you need in one response. ### Over fetching In some cases, you may only want a small subset of the data entity. With REST APIs, you'd still have to request all of the data from an API. For example, if you only want to receive the user email and user ID from an API that sends all user data, it will send that data and more. This is an example of over fetching as you are getting more data than you need in a response. ## Advantages of GraphQL GraphQL enables you to create a query to fetch only the data you need. Here's an example that requests a user's profile details, meeting details, and recording details in a single query. The RESTful alternative would be multiple queries to multiple API endpoints. ```graphql { user(userId: "me") { profile { id email employeeUniqueId firstName lastName role { id name } } meetings(first: 100, meetingType: PREVIOUS_MEETINGS) { edges { id topic startTime } } recordings(first: 100) { edges { uuid topic } } } } ``` ## GraphQL operations GraphQL operations consist mainly of queries and mutations. ### Queries If you're used to REST APIs, you're probably familiar with the HTTP GET method to fetch data. With GraphQL, you'd use queries, such as the one shown earlier to request user details. ### Mutations REST APIs use HTTP methods such as DELETE, PUT, PATCH, and POST to modify data. GraphQL uses mutations. For example, the following to create a user: ```graphql mutation($input:UserCreateInput!){ createUser(input:$input) { id email type firstName lastName } } input: { action: "CREATE", userInfo: { email: "first.last@example.com", type: "Licensed", firstName: "first", lastName: "last" } } ``` ## Entities available Zoom GraphQL is built on top of the [Zoom API](/docs/api/). You can access the following entities using Zoom GraphQL: - Chat channels (partial) - Cloud recording - Dashboards - Groups (partial) - Meetings - Reports (partial) - Users - Webinars See the [Zoom GraphQL API playground](https://nws.zoom.us/graphql/playground) or [Postman collection](#postman-collection) for details. > **Not available for Video SDK** > > GraphQL is not available for Video SDK. ## Postman collection Go to the [Zoom GraphQL Collection](https://www.postman.com/zoom-developer/workspace/zoom-public-workspace/collection/22097587-84c52112-0ae1-4517-a32a-c95a5055b4e3) in Postman to see sample queries and mutations. See [Using Postman to query](/docs/api/graphql/graphql-postman) for details.