What is a Custom Type?

On this page, you'll learn about the concept of Custom Types and how to create and structure a new one.


Custom Types are models for your documents. They are the place where you define and configure fields for your content. They give structure to documents: pages, posts, articles, events, products — whatever blocks of content you need for your project.

Difference between "single" and "repeatable"

There are two categories of Custom Types: Repeatable Types and Single Types.

Repeatable types are for content that you will have more than one, such as articles, products, places, and authors.

Single Types are for content you only need one instance of, such as a homepage or a privacy policy page. You can only create one instance of a Single Type.

Create a Custom Type

Slice Machine vs. the Legacy Builder

We've improved the developer experience with a new tool called Slice Machine. This will eventually replace the Legacy Builder.

In Slice Machine

Create Custom Types in the Custom Types section of Slice Machine.

On this page, you can create your Custom Types, add Slices and Fields, and synchronize them with your repository.

Click on Create a Custom Type. Select the type (repeatable or single), give it a name, and save.

Create a Custom Type.

Create Slices in the Slices tab of Slice Machine. You can use Slices in multiple Custom Types.

In the Slices tab, create your Slices, save their models to the filesystem, synchronize them with your repository, and see Slice simulations with mock data.

Create your Slices

Click on + Add a new Field to see the list of fields you can add to Custom Types and Slices.

Select fields

In the Legacy Builder

Create Custom Types in the Custom Types section of your repository. Click Create New. Select the type (repeatable or single), give it a name, and save.

Slice Machine will eventually replace the Legacy Builder.

Custom Type list

Slices are created within each Custom Type. To start creating slices, enable the Slice Zone with the toggle in the Custom Type builder.

Enable the Slice Zone

Variations and Shared Slices

Please note that, unlike Slice Machine, Variations aren’t available, and Slices with the Legacy builder aren’t shared between Custom Types. You can create a copy of them and store them in the Slice Library, but changes to Slice models will not be synchronized between Custom Types.

Drag and drop fields from the list to add them to the Custom Types and Slices.

Drag and Drop Fields

Organize with tabs

You can use tabs within a Custom Type to organize your content fields and make document editing more user-friendly. Click the + Add a new tab button in the Custom Type builder to add a tab.

Screenshot of the tabs navigation menu

Using tabs will only affect the organization of the writing-room editor. It will not impact the structure of the document in the API response.

What happens when you modify a Custom Type?

Editing a Custom Type does not change your documents — it only changes the editor interface. Changes won't take effect until you open and save documents individually.

If you delete a content field in a Custom Type, that field will no longer appear in the Writing Room editor. Until you resave each document individually, all existing documents will still have that field and its data, and the field will still appear in the API response.

Past behavior with API v1

The endpoint of your repository has two versions, v1 and v2. Normally you'll only ever use v2. v1 is deprecated. If you ever use v1, please note that If you remove a field from your Custom Type, the API v1 will always display this field and its content. You will be able to see this data in your editor by re-adding the field to your Custom Type using the same API ID as it originally had.

Learn about the differences between API v1 & API v2.


Was this article helpful?
Not really
Yes, Thanks

Can't find what you're looking for? Spot an error in the documentation? Get in touch with us on our Community Forum or using the feedback form above.