HomeDev GuideRecipesAPI ReferenceGraphQL
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In
GitHubNuGetDev CommunityDoc feedback

Synchronize content types and data on your Optimizely Content Management System (CMS) site to the service. You can maintain synchronization via event triggers and as a scheduled job. In general, you want to choose event-driven synchronization.

The synchronization job pushes only published content to the service. Unpublished drafts or deleted content will not be available.

The synchronization job serializes content and content types before sending them to the service using the [Content Delivery API](🔗). If you have customized the Optimizely Content Delivery API, the Optimizely Graph service reflects those changes.

The synchronization job also synchronizes the site definition information. It creates a new content type named **SiteDefinition** that stores information about the start page of the site and the languages that exist on the site.

**SiteDefinition** content type contains information such as **Start Page**, **languages**, **host** of the site, the global assets root, and the assets root used by this site.


The SiteDefintion cannot have multiple content types with the same name. The name of the content type must follow the grammatical form as [explained by the GraphQL specification](🔗). That is:

  • Names in GraphQL are case-sensitive.

  • Can only start with a letter and may start with a single underscore.

  • A name may only consist of Latin letters, Latin numbers, and underscore.

  • Underscores are significant.