> For the complete documentation index, see [llms.txt](https://docs.umbraco.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.umbraco.com/umbraco-compose/apis/graphql.md).

# GraphQL

Introduces how to access and query content from Umbraco Compose using the GraphQL API.

The primary way of serving content from Umbraco Compose to your applications is via the GraphQL API.

You can access the API at [GraphQL API endpoint](https://graphql.germanywestcentral.umbracocompose.com).

The API accepts POST requests with the content type `application/json`. The body must be JSON and include a `query` field containing your GraphQL query as a string. The request body may optionally include variables.

## Authentication

To authenticate with the GraphQL API, you need an API key with the correct scopes. You can read more about generating and using API keys in the [Access Control](/umbraco-compose/getting-started/access-control.md) article.

## Queries & Collections

The root object in the GraphQL schema contains one property per collection in the environment. Properties are named after the collection alias in camelCase, with dash characters removed.

For example, a collection with the alias `product-data` will be represented on the root GraphQL object by a property called `productData`.

Each root object property contains a list property called `items`. It includes all valid content items in the collection.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.umbraco.com/umbraco-compose/apis/graphql.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
