{"meta":{"title":"About the GraphQL API","intro":"The GitHub GraphQL API offers flexibility and the ability to define precisely the data you want to fetch.","product":"GraphQL API","breadcrumbs":[{"href":"/en/enterprise-cloud@latest/graphql","title":"GraphQL API"},{"href":"/en/enterprise-cloud@latest/graphql/overview","title":"Overview"},{"href":"/en/enterprise-cloud@latest/graphql/overview/about-the-graphql-api","title":"About the GraphQL API"}],"documentType":"article"},"body":"# About the GraphQL API\n\nThe GitHub GraphQL API offers flexibility and the ability to define precisely the data you want to fetch.\n\n## Overview\n\nHere are some quick links to get you up and running with the GraphQL API:\n\n* [Authentication](/en/enterprise-cloud@latest/graphql/guides/forming-calls-with-graphql#authenticating-with-graphql)\n* [Root endpoint](/en/enterprise-cloud@latest/graphql/guides/forming-calls-with-graphql#the-graphql-endpoint)\n* [Schema introspection](/en/enterprise-cloud@latest/graphql/guides/introduction-to-graphql#discovering-the-graphql-api)\n* [Rate limits](/en/enterprise-cloud@latest/graphql/overview/resource-limitations)\n* [Migrating from REST](/en/enterprise-cloud@latest/graphql/guides/migrating-from-rest-to-graphql)\n\nFor more information about GitHub's APIs, see [Comparing GitHub's REST API and GraphQL API](/en/enterprise-cloud@latest/rest/overview/about-githubs-apis).\n\n## About GraphQL\n\nThe [GraphQL](https://graphql.org/) data query language is:\n\n* **A [specification](https://spec.graphql.org/June2018/).** The spec determines the validity of the [schema](/en/enterprise-cloud@latest/graphql/guides/introduction-to-graphql#schema) on the API server. The schema determines the validity of client calls.\n\n* **[Strongly typed](#about-the-graphql-schema-reference).** The schema defines an API's type system and all object relationships.\n\n* **[Introspective](/en/enterprise-cloud@latest/graphql/guides/introduction-to-graphql#discovering-the-graphql-api).** A client can query the schema for details about the schema.\n\n* **[Hierarchical](/en/enterprise-cloud@latest/graphql/guides/forming-calls-with-graphql).** The shape of a GraphQL call mirrors the shape of the JSON data it returns. [Nested fields](/en/enterprise-cloud@latest/graphql/guides/migrating-from-rest-to-graphql#example-nesting) let you query for and receive only the data you specify in a single round trip.\n\n* **An application layer.** GraphQL is not a storage model or a database query language. The *graph* refers to graph structures defined in the schema, where [nodes](/en/enterprise-cloud@latest/graphql/guides/introduction-to-graphql#node) define objects and [edges](/en/enterprise-cloud@latest/graphql/guides/introduction-to-graphql#edge) define relationships between objects. The API traverses and returns application data based on the schema definitions, independent of how the data is stored.\n\n## Why GitHub is using GraphQL\n\nGitHub chose GraphQL because it offers significantly more flexibility for our integrators. The ability to define precisely the data you want—and *only* the data you want—is a powerful advantage over traditional REST API endpoints. GraphQL lets you replace multiple REST requests with *a single call* to fetch the data you specify.\n\nFor more details about why GitHub invested in GraphQL, see the original [announcement blog post](https://github.blog/2016-09-14-the-github-graphql-api/).\n\n## About the GraphQL schema reference\n\nThe docs in the sidebar are generated from the GitHub GraphQL [schema](/en/enterprise-cloud@latest/graphql/guides/introduction-to-graphql#discovering-the-graphql-api). All calls are validated and executed against the schema. Use these docs to find out what data you can call:\n\n* Allowed operations: [queries](/en/enterprise-cloud@latest/graphql/reference/queries) and [mutations](/en/enterprise-cloud@latest/graphql/reference/mutations).\n\n* Schema-defined types: [scalars](/en/enterprise-cloud@latest/graphql/reference/scalars), [objects](/en/enterprise-cloud@latest/graphql/reference/objects), [enums](/en/enterprise-cloud@latest/graphql/reference/enums), [interfaces](/en/enterprise-cloud@latest/graphql/reference/interfaces), [unions](/en/enterprise-cloud@latest/graphql/reference/unions), and [input objects](/en/enterprise-cloud@latest/graphql/reference/input-objects).\n\nFor other information, such as authentication and rate limit details, check out the [guides](/en/enterprise-cloud@latest/graphql/guides).\n\n## Requesting support\n\nFor questions, bug reports, and discussions about GitHub Apps, OAuth apps, and API development, explore the [API and Webhooks category in GitHub's Community Discussions](https://github.com/orgs/community/discussions/categories/api-and-webhooks). The discussions are moderated and maintained by GitHub staff, and answered by the GitHub community.\n\nConsider reaching out to [GitHub Support](https://support.github.com/) directly using the contact form for:\n\n* Guaranteed response from GitHub staff\n* Support requests involving sensitive data or private concerns\n* Feature requests\n* Feedback about GitHub products\n\nIf you observe unexpected failures, you can use [githubstatus.com](https://www.githubstatus.com/) or the [GitHub status API](https://www.githubstatus.com/api) to check for incidents affecting the API."}