GraphQL provides the ability to apply queries, mutations, and subscriptions defined within a query language to synchronous and asynchronous APIs. Adding another type of contract to our API toolbox for providing a very flexible query language for front-end developers to use when getting the data they need.

GraphQL is an optimal solution when you have large volumes of data with a wide surface area, and you have a known set of developers who are familiar with GraphQL, the schema, and are building a variety of applications that have specialized needs around specific domains of data.