> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usebruno.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

Bruno can send requests using GraphQL, an open-source query language and runtime for APIs. Each GraphQL request has a URL (the data endpoint) and a query (defining the data to retrieve or modify).

## GraphQL request interface

GraphQL APIs let clients request only the data they need through a single endpoint. It’s schema-driven, allowing clients to introspect and avoid overfetching or underfetching data.

**[Query builder](/send-requests/graphql/query-builder)** is also supported to help you build your queries easily.

<img src="https://mintcdn.com/bruno-a6972042/qClWzi66cJAFmDKE/images/screenshots/send-request/graphql/01-gql-interface.webp?fit=max&auto=format&n=qClWzi66cJAFmDKE&q=85&s=1bf4e054eec204ed1675503ccfa1a557" alt="gql-interface" width="2596" height="1576" data-path="images/screenshots/send-request/graphql/01-gql-interface.webp" />

The API schema defines available fields, and the request may include authentication, headers, and settings as needed.

GraphQL requests support three operations:

* **Query**: Retrieves data, specifying fields and optional arguments for precise results.

* **Mutation**: Modifies data (create, update, delete), with specified fields returned after the operation.

* **Subscription**: Provides real-time updates by listening for changes to specific data fields over a persistent connection.

1. [GraphQL API](./graphql-api)
2. [GraphQL Variables](./graphql-variables)
3. [Query Builder](./query-builder)
