Developers
Understanding Agility CMS architecture is essential for effective development. This guide covers the headless architecture pattern and how it applies to your applications.
Understanding Agility CMS architecture is essential for effective development. This guide covers the headless architecture pattern and how it applies to your applications.

Agility CMS follows a headless architecture pattern that separates content management from content delivery.

The Agility data model uses a three-layer architecture:
Purpose: Define structure and schema
Models are like blueprints—they define what fields exist and what types of data they hold.
Purpose: Actual data instances
Instances are the actual data—the filled-out forms, the real content.
Purpose: Connect entities together
Agility CMS provides RESTful APIs with standard HTTP methods:
Content Fetch API:
GET /{instance-guid}/fetch/{locale}/page/{pageID}
GET /{instance-guid}/fetch/{locale}/list/{referenceName}
GET /{instance-guid}/fetch/{locale}/item/{contentID}
Content Management API:
POST /{instance-guid}/content/{locale}/item
PUT /{instance-guid}/content/{locale}/item/{contentID}
DELETE /{instance-guid}/content/{locale}/item/{contentID}
@agility/content-fetch): Base JavaScript SDKComponents must be registered in your application:
const allModules = [
{ name: "ComponentName", module: ComponentName },
// ... more components
]
Note: The variable name
allModulesand propertymoduleare from the Next.js SDK's legacy terminology. In Agility CMS, these are now called "components" and "component models."
All components follow this pattern:
module, languageCode, isPreview, etc.getContentItem() or getContentList()data-agility-* attributes for inline editingNext: Setup - Project setup and configuration