LogoLogo
Try it outResourcesAPIsAddOnsBook a demo
  • Getting Started
    • Introduction to Beefree SDK
      • Create an Application
      • Installation and Fundamentals
        • Configuration parameters
          • Configuration Reload
          • Workspaces
          • Debugging the Beefree SDK Editor
        • Methods and Events
        • Authorization Process
        • How the UID parameter works
        • Set up two-factor authentication
        • Naming conventions
      • Development Applications
      • Manage Users
      • Manage Subscriptions
    • Tracking Message Changes
    • Sample Code
    • Release Candidate Environment
  • Visual Builders
    • Email Builder
    • Page Builder
      • Integrating Page Builder
      • Embedding videos in a page
    • Popup Builder
      • Popup Builder - Getting Started
      • Testing and Integrating
      • Setting layout and size
        • Advanced settings
    • AI-Driven Design Creation
  • APIs
    • Content Services API
      • Authentication
      • Export
      • Convert
      • Row Processing
      • AI Collection
      • Brand Style
      • Check
    • Template Catalog API
      • Authentication
      • Templates
      • Categories
      • Collections
      • Designers
      • Tags
    • HTML Importer API
      • Authentication
      • Import HTML
  • Forms
    • Form Block
    • Integrating and using the Form block
      • Passing forms to the builder
      • Form structure and parameters
      • Form layout customization
      • Allowed form fields
      • Edit form field modal
  • Rows
    • Reusable Content
      • Create Reusable Content
        • Pre-build Reusable Content
          • Implement Custom Rows
        • Save Reusable Content
          • Implement Hosted Saved Rows
          • Implement Self-hosted Saved Rows
            • Self-hosted Saved Rows Concepts and Tutorial
      • Sync Reusable Content
        • Implement Synced Rows
        • Initialize Edit Single Row Mode
      • Manage Reusable Content
    • Storage for Reusable Content
      • Hosted Saved Rows
      • Self-Hosted Saved Rows
  • File manager
    • File manager application overview
      • Mime Types and Groups
  • Server-side configurations
    • Server-side options
      • Toolbar options
      • Storage options
        • Configure your AWS S3 bucket
        • Connect your file storage system
      • Content options
      • Services options
      • Undo & Changes history
      • Custom JavaScript Libraries Injection
  • Other Customizations
    • Advanced options
      • Special Links and Merge Tags
      • Content Dialog
      • Custom Color Palette
      • Font management
      • Roles and Permissions
      • Smart Merge Tags
      • Commenting
      • Custom Attributes
      • Meta Tags
      • Custom Languages
      • Display Conditions
      • Advanced Permissions
      • Custom File Picker
      • Custom Headers
    • Appearance
      • Content Defaults
      • Custom Sidebar Position
      • Content Tile Sorting
      • Content Tile Grouping
      • Loading Spinner Theme
      • Custom Tab Layout
      • Themes
      • Custom CSS
        • Change Log
    • AMP for Email
    • Collaborative Editing
      • Co-editing Integration Guide
    • Mobile Design Mode
    • Multi-language Templates
    • Cards Style and Image Round Corners
    • Hover Effect for Buttons
    • Content Area Padding
    • Line Height
    • Frontend Commands
  • Data Structures
    • Getting Started
    • Schema Catalog
    • Simple Schema
      • Template Schema
      • Definitions Schema
      • Row Schema
      • Column Schema
      • Title Schema
      • Image Schema
      • Button Schema
      • Paragraph Schema
      • HTML Schema
      • Menu Schema
      • List Schema
      • Icon Schema
      • Divider Schema
    • Row Metadata
    • Form Validation Schema
    • Comments Schema
      • Change Schema for Comments
  • Builder AddOns
    • AddOns
      • AddOns Overview
      • Partner AddOns
        • Partner AddOns directory
        • Installing Partner AddOns
        • DeepL
        • Stability AI
        • Azure AI Vision - Image Analysis
          • Alternate Text Generation with AI
          • AI Alt Text Bulk Generation
        • AI Writing Assistant
          • Available Providers
            • OpenAI
            • Azure OpenAI
            • Anthropic
          • AI Providers and Data Security
          • AI-Generated Meta Tag Fields
          • Token Upselling
          • Apply a Brand Tone
        • Custom AI Writing Assistant
      • Custom AddOns
        • AddOn Development
        • Contribute to the Partner AddOn Marketplace
      • AddOns Configuration
      • AddOn FAQs
  • Resources
    • Error Management
      • onWarning
      • Beefree SDK Editor Errors
      • File System Provider errors
      • JSON Parser errors
      • Template Validation and Update
      • Template validation and update errors
    • Scheduled maintenances
Powered by GitBook
LogoLogo

Policies

  • Privacy & Cookies
  • Terms of Services
  • GDPR Compliance
  • Trust Center

Contact Us

  • Submit a request
  • Book a demo
  • Report a security issue
  • Beefree SDK Startup Program

Resources

  • Developer website
  • Create a Developer Account

© Bee Content Design, Inc. San Francisco, CA | Part of Growens

On this page
  • Overview
  • Simple Unified Schema
  • Webinar
  • API Endpoint: Convert Simple Schema to Full JSON
  • Use Cases
  • Custom AddOns
  • Content Dialog Handler Behavior
  • Custom Rows
  • Simple Schema Relationships at a Glance
  • Which Schema Should You Use?
  • Schema Validation

Was this helpful?

Export as PDF
  1. Data Structures

Simple Schema

Learn more about how to use Beefree SDK's simple schema for AI-driven design.

Simple Schema Features by Plan Type:

  • Superpowers & Enterprise Plans: Access to Simple Schema for Custom AddOns and Custom Rows.

  • All Paid Plans: Access the Simple Schema API through the Content Services API (CSAPI).

Overview

Beefree JSON is the JSON schema we use to structure and validate designs within Beefree SDK. It's a very comprehensive and complex schema and for this reason, it does not provide the best structure for training AI models in workflows that include AI-driven design creation. Beefree SDK's Simple Schema is a lightweight alternative that's more accessible for AI engines (and humans).

As a simpler model, Simple Schema is an intuitive language you can use as a baseline for training AI agents and building templates programmatically outside of Beefree SDK's visual builders. These headless templates can then be instantly transformed into Beefree’s native JSON and loaded inside the builder for end users to edit accordingly in a no-code environment.

You can convert the simple schema into native Beefree JSON using the Content Services API endpoint /v1/conversion/simple-to-full-json.

Simple Schema also enhances Custom AddOns development by:

  • Providing a comprehensive set of properties for full flexibility in your design.

  • Consolidating the Custom Rows, Single Content AddOn, and Row Mixed schemas into a unified, compatible schema type.

Reference the Simple Schema GitHub repository for more information.

Simple Unified Schema

There are two ways you can use the schemas available in the documentation and the GitHub repository to implement Simple Schema.

These approaches are:

  • Use the Simple Unified Schema. This option allows you to use one reference file to structure your templates and validate them prior to sending them to the endpoint. Learn more about the Simple Unified Schema in the Simple Schema GitHub repository.

  • Use the individual, but connected, simple schemas for templates, rows, columns, and modules. This option allows you to use multiple focused schema files to structure your templates and validate them prior to sending them to the endpoint. These schemas are detailed in the subsequent pages.

Webinar

The following webinar includes an in-depth exploration of Simple Schema, the /simple-to-full-json API endpoint, and covers two example scenarios and applications of Simple Schema.

API Endpoint: Convert Simple Schema to Full JSON

You can convert Simple Schema into fully functional Beefree native JSON using the following endpoint:

POST /v1/conversion/simple-to-full-json

This endpoint is essential for building headless template workflows, where templates are generated or assembled programmatically—by AI models, config files, or external systems—and later converted for use inside the builder.

Visit the Content Services API Simple to Full JSON documentation to learn more about how to use this endpoint.

Tip: Reference an example valid request body in the GitHub repository to experiment with the API endpoint and see it in action.

Use Cases

The following section lists several ways you can leverage Simple Schema to bring additional value to your end users.

AI-Powered and Headless Template Creation

Build a chatbot or frontend tool where users describe what they want. An AI model creates a Simple Schema layout, which you convert to Beefree JSON using the API. Load the result into the builder—or send it directly into a campaign—without ever touching the editor during creation.

For example, your dev team can build a frontend that lets users describe their design (email, page, or popup), and submit that description to an AI agent on the frontend. On the backend:

  1. The prompt is processed by an AI model trained to produce a template using Simple Schema.

  2. You pass the schema to /v1/conversion/simple-to-full-json.

  3. You receive Beefree native JSON, which is then loaded directly into the Beefree SDK builder.

This approach blends AI-driven design creation and your own custom user interface, which supports your end users in not starting their content creation workflow from scratch, but rather from an AI-generated design.

A/B Testing and Variations

Use schema generation logic to produce slightly varied layouts for testing. Combine this with AI or custom logic to automatically create multiple variants of templates.

Custom Validation Workflows

Enforce validation rules that check your schema structure or inputs to meet your unique business or design standards.

Fully Headless Workflows

Simple Schema lets you build and manage complete email, page, and popup templates without ever opening the visual builder. Use it for content generation, programmatic campaigns, template marketplaces, or internal automation systems.

Custom AddOns

Simple Schema enhances the development experience for Custom AddOns by integrating new properties that foster an additional layer of customization.

Developer Notes:

  • All AddOn content types now rely on Simple Schema.

  • The locked property is only enforced inside Row AddOns to avoid poor UX in single-content modules.

  • Use the text field consistently for content across all textual modules.

  • Default values will be applied if specific properties are omitted in the Simple JSON.

Content Dialog Handler Behavior

To develop your own Custom AddOn, you need to utilize Beefree SDK's Content Dialog method. The following code snippet provides and example of how to utilize the Content Dialog for Custom AddOns with Simple Schema.

{
  "contentDialogId": "addOnID",
  "value": {
    "blockStyle": {
      // Padding, hover styles, and other block-level styling
    }
  }
}

Tip: The structure in the code snippet supports consistent block-level styling globally.

Custom Rows

Simple Schema provides a comprehensive set of properties for customizing and creating Custom Rows.

Simple Schema Relationships at a Glance

simple_template
  └── rows[] (simple_row)
         └── columns[] (simple_column)
                └── modules[] (discriminator on "type")
                        ├── simple_button
                        ├── simple_divider
                        ├── simple_image
                        ├── simple_html
                        ├── simple_list
                        ├── simple_menu
                        ├── simple_paragraph
                        ├── simple_title
                        └── [etc.]
  • definitions.schema.json is referenced across almost all module and container schemas for styling props.

  • Modules are polymorphic, distinguished by their "type" and validated using the oneOf structure in simple_column.

Which Schema Should You Use?

Scenario
Schema(s) to Use

Client-side validation

Any individual module schema (simple_button, simple_list, etc.)

Saving a full template

simple_template.schema.json (including rows, columns, and modules)

API endpoint schema

Request body can directly use simple_template

Database modeling

Use nested object structure defined in simple_template, with shared fields via $refs

Schema Validation

The following code snippet provides an example of custom Simple Schema fields for merge tag support, and custom validations.

urlOrMergeTags: (text: string): boolean => {
  try {
    new URL(text)
    return true
  } catch (e) {
    return /{{.*}}/.test(text)
  }
},

noAnchorTags: (text: string): boolean =>
  !/<a[^>]*>[\s\S]*?<\/a>|<a\s*\/>/i.test(text),

These validators ensure generated content is correct and aligns with the data structure defined within the Simple Schema.

PreviousSchema CatalogNextTemplate Schema

Last updated 15 days ago

Was this helpful?