Noma
Developers · API-first CMS · 2026

CMS for developers

Noma gives engineering teams a clear API-first content layer with typed SDK workflows, explicit publish controls, and production-friendly integration patterns across modern frameworks.

Positioning

Why developer teams choose Noma

Many CMS tools are easy to start but difficult to operationalize at scale. Noma is designed for teams that want clear API contracts, structured content models, and production-safe workflows for publishing and rollback.

Instead of mixing content concerns into application code, teams keep CMS operations in a dedicated platform and integrate through server-side APIs and SDK methods.

Setup

Server-only integration pattern

Keep API keys on the server and centralize client construction so all services use one secure integration path.

import { createClient } from "@nomacms/js-sdk";
 
export const noma = createClient({
  projectId: process.env.NOMA_PROJECT_ID!,
  apiKey: process.env.NOMA_API_KEY!,
});

Use this from server components, route handlers, server actions, background workers, or backend services. Do not expose NOMA_API_KEY in browser bundles.

Read path

Published content with predictable queries

For public delivery, default to state: "published". Use pagination and sorting controls to keep list endpoints consistent under load.

const entries = await noma.content.list("posts", {
  state: "published",
  paginate: 20,
  sort: "created_at:desc",
});

This pattern maps cleanly to Next.js, Nuxt, Astro, and backend API services where content rendering and caching are managed by your application runtime.

Write path

Draft, publish, and version control

Noma separates content mutation from publication so teams can stage updates safely and publish with intentional release timing.

await noma.content.patch("posts", entryUuid, {
  data: { title: "Updated title" },
});
 
await noma.content.publish("posts", entryUuid);
 
const versions = await noma.content.versions.list("posts", entryUuid);

With immutable versions and revert support, incident response is simpler when a content release needs fast rollback.

Automation

Developer tooling and agent workflows

Noma supports engineering automation through webhooks, SDK scripts, and MCP-driven assistant workflows. This is useful for recurring content migrations, schema refactors, and QA checks.

Use @nomacms/mcp-server with Agent Skills to standardize assistant behavior in editors like Cursor and Claude Code.

Team model

How developers and content teams collaborate

A practical model is developer-owned schema and integration contracts, with content teams owning authoring, review, and publication. This reduces queue pressure on engineering without weakening release governance.

For complex products, pair this with project-scoped boundaries, key rotation policies, and webhook revalidation so content updates propagate cleanly.

Decision guide

When this is a strong fit

Noma is a strong fit for teams that prioritize API clarity, server-side security, and explicit publishing lifecycle controls over implicit CMS behavior.

If your current setup creates friction around schema changes, publish safety, or automation, moving to a cleaner content API boundary usually improves delivery velocity.

Continue with related pages: CMS for agencies, CMS for multilingual sites, and CMS with versioning.

Now available

Start building with Noma

Create a free account, spin up a project, and ship structured content with our API, SDK, and AI tools.