---
title: Explore your schema
slug: graph/docs/explore-your-schema
docTags: 
createdAt: 2026-09-01T10:24:25.734Z
---

Use the provided GraphQL queries to explore the structure of your Content Management System (CMS) content and understand how it maps to the Optimizely Graph schema. These examples help you examine available content types, test queries, and validate filtering or search behavior. For a detailed overview of how the schema defines content relationships and field structures, see [Optimizely Graph schema](docId\:oMoyw4X9uVNkMU1T-0crG).

:::hint{type="info"}
**Note**
Available content types vary depending on your CMS configuration and custom schema definitions.
:::

## Get types in your schema

Discover which content types and fields exist in your Optimizely Graph instance before you write production queries. Each instance has a unique schema, so confirming the available types prevents query errors and wasted effort.

To explore your schema, start with the following query:

```graphql
# See available content types
query GetContentTypes {
  __schema {
    types {
      name
      description
    }
  }
}
```

To view the structure of a specific content type, such as `ArticlePage`, run the following query:

```graphql
# Explore a specific content type
query ExploreArticlePage {
  __type(name: "ArticlePage") {
    fields {
      name
      type {
        name
      }
    }
  }
}
```

## Find your content

Inventory the content that lives in your Graph instance so you know what is available to query. The following query lists content types and their total counts. Update the query with the content types available in your schema.

```graphql
# Get content types and their counts
query ContentInventory {
  ArticlePage { total }
  StandardPage { total }
  ProductPage { total }
  # Add your content types here
}
```

## Test basic queries

Validate end-to-end behavior by running small, focused queries against your live schema. Use the following patterns to confirm that retrieval and filtering work as expected before integrating queries into application code.

Run the following query to retrieve content and test your configuration.

```graphql
# Simple list query
query SimpleList {
  ArticlePage(limit: 3) {
    items {
      Name
      RelativePath
    }
  }
}
```

To filter results, use a `where` clause.

```graphql
# Query with filtering
query FilteredList {
  ArticlePage(
    where: { TeaserText: { contains: "Alloy" } }
    limit: 5
  ) {
    items {
      Name
      TeaserText
    }
  }
}
```
