GraphQL queries

Uses: Insomnia
Related Documentation
Tags

GraphQL is a query language for APIs that uses a type system to help with correctness and maintainability. Insomnia uses this type system to provide auto-completion and linting of GraphQL queries. This reference explains how to create and execute GraphQL queries in Insomnia.

Using GraphQL

Create a GraphQL request in Insomnia by selecting the GraphQL request type during creation, or by switching an existing request to the GraphQL body type using the body menu.

Once selected, you’ll see the Query and Variables sections.

Query section

The query is the only required field of a GraphQL request. Queries can include arguments, comments, fragments, and other standard GraphQL syntax. While editing, Insomnia provides:

  • Auto-completion based on schema introspection
  • Inline validation with helpful error messages

Note: GraphQL queries cannot include Insomnia templating, but variables can.

Variables section

GraphQL variables are defined in the Query Variables section below the query. They must be a valid JSON object.

If left empty, the variables key is omitted from the request payload.

Constructing the request payload

Insomnia automatically constructs the body of the GraphQL request when either the query or variables are edited.

The body includes:

  • query (string): Your GraphQL query.
  • variables (object): Optional.
  • operationName (string): Optional. Populated from the first named query, if it exists.
{
  "query": "query MyQuery($id: string) { thing(id: $id) { id name created } }",
  "variables": {
    "id": "thing_123"
  },
  "operationName": "MyQuery"
}

Schema fetching

Insomnia automatically fetches your schema via an introspection query to support the following:

  • Auto-completion
  • Error checking
  • Documentation browsing

The schema is fetched when switching to a new GraphQL request or changing request properties like the URL.

FAQs

Insomnia automatically fetches your GraphQL schema using an introspection query. This enables features like auto-completion, error checking, and documentation browsing. The schema is fetched when you switch to a new GraphQL request or change properties like the request URL.

All request attributes—including authentication, headers, and others—are sent with the introspection query.

You can visually browse your GraphQL schema in several ways:

  • Click Show Documentation from the Schema dropdown near the query editor.
  • Hover over a field and click the inline popup that appears.
  • On macOS, press Control + Click on a field in the query editor.
Something wrong?

Help us make these docs great!

Kong Developer docs are open source. If you find these useful and want to make them better, contribute today!