# GraphQL


{{< alert enterprise >}}
Enhanced usage of this feature is available with Gatling Enterprise. [Explore our plans to learn more](https://gatling.io/pricing?utm_source=docs).
{{< /alert >}}

[GraphQL](https://graphql.org/) is a query language for APIs. Gatling supports:

* queries and mutations, sent over HTTP
* subscriptions, sent over WebSocket with the `graphql-transport-ws` protocol

{{< alert info >}}
The GraphQL SDK is available for Java, Kotlin and Scala. JavaScript and TypeScript are not supported yet.
{{< /alert >}}


## Pages in this section
- [GraphQL Protocol](https://docs.gatling.io/reference/script/graphql/protocol/index.md): How to configure the GraphQL protocol in Gatling, including endpoints, error handling, operation naming and persisted queries.
- [GraphQL Requests](https://docs.gatling.io/reference/script/graphql/requests/index.md): How to send GraphQL queries and mutations with Gatling, set variables, and perform checks on the response.
- [GraphQL Subscriptions](https://docs.gatling.io/reference/script/graphql/subscriptions/index.md): How to connect, subscribe and check messages of GraphQL subscriptions over WebSocket with Gatling.
- [Project Setup](https://docs.gatling.io/reference/script/graphql/setup/index.md): How to set up your project to use the Gatling GraphQL protocol.
