WHAT YOU'LL LEARN
  • What use cases are available in webiny/api/cms/model?
  • Which event handlers can you implement?
  • How to use the builder and factory APIs?
  • How to import and use each exported item?

Overview
anchor

This page documents everything exported from webiny/api/cms/model. Import any of the items below directly from this path in your Webiny extensions.

Use Cases

Event Handlers

Services

Types & Classes

Use Cases
anchor

CreateModelFromUseCase
anchor

Use Case Abstraction — imported from webiny/api/cms/model

Interface CreateModelFromUseCase.Interface:

CreateModelFrom Use Case (Clone/Copy Model)

Types:

CreateModelUseCase
anchor

Use Case Abstraction — imported from webiny/api/cms/model

Interface CreateModelUseCase.Interface:

CreateModel Use Case

Types:

DeleteModelUseCase
anchor

Use Case Abstraction — imported from webiny/api/cms/model

Interface DeleteModelUseCase.Interface:

DeleteModel Use Case

Types:

GetModelUseCase
anchor

Use Case Abstraction — imported from webiny/api/cms/model

Interface GetModelUseCase.Interface:

GetModel Use Case

Types:

ListModelsUseCase
anchor

Use Case Abstraction — imported from webiny/api/cms/model

Interface ListModelsUseCase.Interface:

ListModels Use Case

Types:

UpdateModelUseCase
anchor

Use Case Abstraction — imported from webiny/api/cms/model

Interface UpdateModelUseCase.Interface:

UpdateModel Use Case

Types:

Event Handlers
anchor

ModelAfterCreateEventHandler
anchor

Event Handler Abstraction — imported from webiny/api/cms/model

Interface ModelAfterCreateEventHandler.Interface:

Event payload ModelAfterCreateEventPayload:

Types:

ModelAfterCreateFromEventHandler
anchor

Event Handler Abstraction — imported from webiny/api/cms/model

Interface ModelAfterCreateFromEventHandler.Interface:

Event payload ModelAfterCreateFromEventPayload:

Types:

ModelAfterDeleteEventHandler
anchor

Event Handler Abstraction — imported from webiny/api/cms/model

Interface ModelAfterDeleteEventHandler.Interface:

Event payload ModelAfterDeleteEventPayload:

Types:

ModelAfterUpdateEventHandler
anchor

Event Handler Abstraction — imported from webiny/api/cms/model

Interface ModelAfterUpdateEventHandler.Interface:

Event payload ModelAfterUpdateEventPayload:

Types:

ModelBeforeCreateEventHandler
anchor

Event Handler Abstraction — imported from webiny/api/cms/model

Interface ModelBeforeCreateEventHandler.Interface:

Event payload ModelBeforeCreateEventPayload:

Types:

ModelBeforeCreateFromEventHandler
anchor

Event Handler Abstraction — imported from webiny/api/cms/model

Interface ModelBeforeCreateFromEventHandler.Interface:

Event payload ModelBeforeCreateFromEventPayload:

Types:

ModelBeforeDeleteEventHandler
anchor

Event Handler Abstraction — imported from webiny/api/cms/model

Interface ModelBeforeDeleteEventHandler.Interface:

Event payload ModelBeforeDeleteEventPayload:

Types:

ModelBeforeUpdateEventHandler
anchor

Event Handler Abstraction — imported from webiny/api/cms/model

Interface ModelBeforeUpdateEventHandler.Interface:

Event payload ModelBeforeUpdateEventPayload:

Types:

Services
anchor

FieldType
anchor

Abstraction — imported from webiny/api/cms/model

Interface FieldType.Interface:

Field Type Factory - creates a field builder instance

MethodDescription
readonly type: string()Unique identifier for this field type
create()Create a new field builder instance

ModelFactory
anchor

Abstraction — imported from webiny/api/cms/model

Interface ModelFactory.Interface:

Types:

Types & Classes
anchor

CmsModel
anchor

Type — imported from webiny/api/cms/model

Base CMS Model. Should not be exported and used outside of this package.

@category Database model @category CmsModel

CmsModelField
anchor

Type — imported from webiny/api/cms/model

A definition for content model field. This type exists on the app side as well.

@category ModelField @category Database model

FieldBuilder
anchor

Class — imported from webiny/api/cms/model

DataFieldBuilder class for data fields that produce CmsModelField instances. Provides storageId, list, validation, renderer, and other data-field methods.

FieldRendererRegistry
anchor

Type — imported from webiny/api/cms/model

Augmentable renderer registry. Each entry maps a renderer name to its applicable field type(s) and settings.

Example: declare module “@webiny/api-headless-cms/features/modelBuilder/fields/FieldBuilder” { interface FieldRendererRegistry { “my-renderer”: { fieldType: “text” | “long-text”; settings: { color: string } }; } }

LayoutBuilder
anchor

Class — imported from webiny/api/cms/model

LayoutBuilder provides a fluent API for modifying field layouts. Supports adding fields to existing rows and inserting new rows at specific positions. Callbacks can be queued and executed lazily for efficient composition.

ModelBuilder
anchor

Class — imported from webiny/api/cms/model

Entry point builder that allows selecting model type. Call .private() or .public() to get the appropriate typed builder.