Skip to main content
Your coding agent defines the shape of your content. Your team fills in and updates that content in Studio. Use a Single for one set of content, such as a homepage or site settings. Use a Collection for repeated entries, such as posts, products, or team members.

Add editable content

1

Create a schema

Add src/schemas/BlogPost.json. The PascalCase filename must match the schema UID. Ask your coding agent to load the fimo-code schema reference before writing the file.
2

Register the schema

This updates the current Branch and generates the framework-specific client. Do not edit generated files.
3

Add content

For a Collection entry:
For a Single:
4

Render it

Ask your coding agent to load the matching fimo-code content and framework references. The generated client reads the content, and Fimo’s rendering components keep it editable in Studio.

Manage schemas

Pushing all schema files as one batch supports models that reference each other:
Review schema changes before pushing them to a Branch with content. Deleting fields, changing references, and switching between a Collection and a Single can remove or reshape stored values.
Media fields default to one object. Arrays need multiple: true in fields, even with one image:
Use target when a reference always points to one content type. Use targets when each value may point to one of several content types:
A polymorphic value includes the selected content type and stable entry ID:
Fixed and polymorphic references use the same field definitions and value shapes inside blocks. Nested references return their raw identities and cannot currently be populated or filtered.

Store dates and exact moments

Use date for a calendar day and datetime for an exact moment. A datetime value must include an ISO 8601 UTC offset, such as Z or +02:00.
Fimo preserves the complete instant when it stores, filters, and sorts the field. Render it with the generated <DateTime> component. See frameworks for the component surfaces.

Manage entries and Singles

fimo singles get reads an existing Single: it returns not found when the Single has no content yet, and fimo singles update creates it. Use --locale <locale> for a non-default language. A translated variant of an existing Collection entry also needs its documentId when you create it. See Locales. Entry lists use the shared pagination flags. The response includes nextCursor when another page exists. The older --offset flag remains accepted for existing scripts. Studio offers the everyday editing experience. Open Content → Collections or Content → Singles to add and update values without running commands. For field definitions, filters, bulk actions, rich text, references, and every command option, see the CLI reference.

What’s next

CMS in Studio

Edit content without using the CLI.

Media

Upload files for media fields.

Pages

Group content around application routes.