This article presents possible use cases and corresponding sample flows that you can support. It provides a useful starting point as you plan your implementation.
You can use the Data Collections API to set up a site's tutorials section by first creating collections for categories and authors to organize content, and then creating a tutorials collection that references those collections.
For each collection you create, set permissions.read to ANYONE and set permissions.insert, permissions.update, and permissions.remove to ADMIN. This lets visitors read tutorials while the site owner manages content.
To set up the collections:
collection.id set to categories. In collection.fields, define title, slug, and description as TEXT fields, and sortOrder as a NUMBER field.collection.id set to authors. Define name and bio as TEXT fields and photo as an IMAGE field.collection.id set to tutorials. Define title and description as TEXT fields, content as a RICH_TEXT field, and publishDate as a DATETIME field. Add an author field of type REFERENCE with typeMetadata.reference.referencedCollectionId set to authors. Add a categories field of type MULTI_REFERENCE with typeMetadata.multiReference.referencedCollectionId set to categories.dataCollectionId set to tutorials. Use the returned definition to build your application's tutorial editor.You can enable draft and publish functionality for a site's content by adding a publish plugin to a collection. This allows content creators to save work in progress without making it visible to site visitors.
Prerequisite: Create a tutorials collection before starting this flow.
To add publish functionality:
plugin.type to PUBLISH and plugin.publishOptions.defaultStatus to DRAFT so new content is created as a draft by default.A tutorial editor needs to rename a field in the CMS while preserving its data type, encryption settings, and description. Patch the field instead of replacing its full definition.
Prerequisite: Create the tutorials collection with a title field before starting this flow.
To rename the field:
dataCollectionId set to tutorials, field.key set to title, field.displayName set to Tutorial title, and fieldMask.paths set to ["displayName"].dataCollection to refresh the collection definition shown in your application's editor.Last updated: 29 October 2026