# GraphQL

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: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
