# GraphQL
URL: https://www.quiltt.dev/api/graphql
Description: Discover how to interact with Quiltt's Profile GraphQL API. Learn about the power of GraphQL for querying and mutating profile data, and explore Quiltt's GraphQL Explorer for hands-on experience.
Navigation: api → graphql
Tags: API

Quiltt uses GraphQL as the primary API interface for an individual profile's data. If you are new to GraphQL, we recommend trying out the introductory materials at [GraphQL.org](https://graphql.org/).

> GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.
> GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools. - [GraphQL](https://graphql.org/)

Profile GraphQL Note:

## Quick Start

New to Quiltt's GraphQL API? Try our [GraphQL Tooling Tutorial](/get-started/tutorials/graphql-tooling) to set up type-safe GraphQL queries with automatic code generation.

## What is GraphQL?

GraphQL is a modern and flexible API spec that allows the requesting client to design the response to suit their needs.
Rather than having to page through many REST responses containing data that you don't need, you can craft a concise and specific request that is guaranteed to return only the details you do need.

A powerful feature of GraphQL is the ability to pack multiple queries and mutations into a single API call.
Additionally, you can also batch requests using tools like [Apollo Client](https://www.apollographql.com/apollo-client), which will, for example, automatically roll up different requests from various components of your React.js app.

## GraphQL Explorer

Our interactive GraphQL Explorer gives you access to all the queries and mutations your Quiltt environment supports. Additionally, it ships with an interactive query builder and typed schema explorer.

You can access the GraphQL Explorer in the [Quiltt Dashboard](https://dashboard.quiltt.dev).

To play with the Explorer in a test environment, check out the [Quiltt Hub](https://demo.quiltthub.com) demo app.

## Endpoint and Headers

All GraphQL operations are served through a single endpoint:

API Endpoint - POST https://api.quiltt.io/v1/graphql:

Requests must have a [valid Authorization header](/authentication), and specify an `application/json` content type:

```yaml
Authorization: Basic <Base64-encoded profileId:API_KEY_SECRET> # or Authorization: Bearer <SESSION_TOKEN>
Content-Type: application/json
```

## Queries

Queries allow you to get data related to a profile, similar to **GET** requests in REST.

See the [Queries guide](/api/graphql/queries) for more information.

## Mutations

Mutations allow you to modify data related to a profile and return the following fields:

- `success` to indicate whether the mutation was successful.
- `record` to allow querying for nested fields on the subject of the mutation.
- `errors` to help troubleshoot unsuccessful mutations.

See the [Mutations guide](/api/graphql/mutations) for more information.

## Subscriptions

Subscriptions allow you to receive real-time updates whenever a specific event occurs on a Profile.

See the [Subscriptions guide](/api/graphql/subscriptions) for more information.

## API Reference

Since GraphQL is strongly typed and self-documenting, the best way to explore our schema is with our interactive GraphQL Explorer in the [Quiltt Dashboard](https://dashboard.quiltt.dev).

Button Group:
[GraphQL API Reference]