GraphQL is a query language for APIs that streamlines development so you can fetch specific content and deliver it to any channel and you only retrieve the content you need. It improves efficiency by allowing you to combine multiple data sources in a single query, and receive the requested data in a single response.
Sitecore GraphQL is available for various APIs. The structure of the data (that is, the schema) is specific to the implementation (for example, Content Hub ONE has its own schema). In the following illustration, the clients (web, mobile, and so on) sit along the top of the diagram. These clients retrieve data from the data sources/services shown along the bottom (database, API, and so on) using GraphQL queries.
The Preview and Delivery APIs do not support mutations.
GraphQL endpoints host a schema (a strongly-typed graph definition) and understand the GraphQL language. Unlike REST APIs, there is a formal request and response format. Each endpoint has its own isolated configuration, so endpoints can be isolated from any other endpoint configuration to increase reliability.
The GraphQL query editor is built into Sitecore GraphQL endpoints so that you can write queries (with code completion) and refer to the API documentation. The GraphQL type system knows about content types, so you can create and validate strongly typed queries against real fields. Changes to content types are updated in real-time and mapped to GraphQL types.