Disclaimer: This website requires Please enable JavaScript in your browser settings for the best experience.

Dev guideRecipesAPI ReferenceChangelog
Dev guideRecipesUser GuidesNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev guide

Explore your schema

Explore your CMS 12 schema, view available content types, and test basic queries using Graph.

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, seeOptimizely Graph Schema.

📘

Note

Your available content types may vary depending on your CMS configuration and custom schema definitions.

Get types in your schema

Each Optimizely Graph instance has a unique schema that defines the available content types and fields.

To explore your schema, start with the following queries.

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

To view the structure of a specific content type, such as ArticlePage, run

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

Find your content

Use the following query to list all content types and their total counts. Update the query with the content types available in your schema.

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

Test basic queries

Run simple queries to retrieve content and test your configuration.

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

To filter results, use a where clause:

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