Mozaik is a headless content management system with a GraphQL API. It allows you to define your own content types (the shape of your documents) and manage your documents with its integrated content editor.

Mozaik comes with a full write API: you can manage not only your content, but your content types and project settings through the API.

Getting started

We recommend you to read through the basic concepts behind Mozaik.

After understanding the concepts, you can read the API documentation. This is the general API you can use in any project. This documentation is available in your project too with some extra information: as you start adding content types to your project, you will see new GraphQL object types in it. Your project API documentation will evolve automatically as your project changes. You can have the latest documentation without writing anything.

If you are familiar with the concepts and how the API works, there is only one thing left: start building something! There are three project templates that you can use when you create a new project to make the set up even quicker. You can find more details about the templates and sample UI implementation in the near future. And you can follow our Quickstart guide.

Why GraphQL?

GraphQL is a query language, and provides complete information about your data in your API. The format of the query describes the shape of the data you receive. You don't have to make multiple REST requests to get all data you need to display a page, and the response contains the data you requested and nothing more, so you can minimize the response time. GraphQL also helps making easier to evolve your API.

If you are new to GraphQL, we suggest you to visit the official GraphQL website.

We think GraphQL is a great fit for a content management system as it enables you to get all relevant data to display a page with one request even if you have linked documents.

What's next

Mozaik is new, but we hope it includes every main feature for projects with content management requirements.

We already have a couple of ideas. You can check our public roadmap to have an overview about the coming features. And if you don't find what you're looking for, we are always open for new feature requests.