The hybrid headless CMS

Organized for teams.
Ready for clients.

Editors work on the real page, marketers schedule the launch, and agencies give every client a project of its own. Every site and app reads from one source, over REST or GraphQL.

The Capa editor: an entry's fields on the left, and its status, version, tags and folder on the right.The Capa editor: an entry's fields on the left, and its status, version, tags and folder on the right.
The platform

One platform. Three layers.

Your team works on top. Your sites and apps read from below. In the middle sits every model, entry, version and file, in one place.

Visual Editing and Live Preview

See the change
on the real page.

Press Preview and your own site opens beside the form, showing the draft. Click a field on the page and the editor jumps to it. Save, and the page updates in place.

Autumn menuDraft v8
Osteria LumenMenuVisitEventsBook

Seasonal

Autumn menu, from 5 pm nightly

Wild mushroom risotto, brown butter squash and the last of the figs.

Book a table
  • Mushroom risotto$22
  • Squash agnolotti$26
  • Pear and almond cake$11
  • Fig and ricotta tart$12

Draft view, desktop.

  • Draft or published

    Flip between the draft and what is live, on the same page of your site.

  • Every screen size

    Mobile, tablet and desktop at their real widths, so your own breakpoints fire.

  • Know what it touches

    Before you change an entry, see every page it appears on.

  • Hand it to a client

    Add @capacms/sdk and tag the fields. Clients click what they want to change.

Releases

From draft to live,
on the record.

Capa keeps every version, gathers changes into one queue, publishes on schedule and writes down what went out.

  1. 01 · Save

    Every save is a version.

    Drafts never touch the live site. The entry shows what is live and what you are writing, Published v7 and Draft v8, and any older version is a click away.

  2. 02 · Queue

    Every change, in one queue.

    Unpublished changes from every model wait together, with word-level diffs. Publish them as a batch, schedule them, or discard them.

  3. 03 · Schedule

    On time, in your timezone.

    Pick a date, or a shortcut like Tomorrow 9:00. Capa shows the same moment in UTC and publishes the latest draft at that time.

  4. 04 · Log

    A record of what went out.

    The publishing log keeps every scheduled and bulk publish: what, who, when and how it went. A failed one waits there with Retry.

Autumn menuMenuPublished v7Draft v8
  1. v8DraftYou
  2. v7PublishedAna Ruiz
  3. v6Ana Ruiz
  4. v5Jonah Brandt
  5. v4Maya Lindqvist
  6. v3Ana Ruiz
Save draftPublish
Editor

A place for everything.
A filter for anything.

Models give every entry a shape. Folders, categories and tags give it a home. Filter the whole project by any of them, or switch to cards when the work is visual.

The Content list: entries from several models, with filters for model, category, tag and status.The Content list: entries from several models, with filters for model, category, tag and status.
MenuModel7 fields
  • TitleText
  • IntroRich Text
  • DishesModel · manyDish
  • Hero imageImage
  • SeasonOptions
  • Price fromNumber
  • FeaturedTrue/False

Models and fields

Thirteen field types, from Rich Text to relations between models. Arrange them in rows and groups by dragging.

Folders, categories and tags

Folders for models, content and media. Categories and tags cut across them, so the same entry turns up wherever it belongs.

Filters, status and cards

Filter by model, folder, category, tag and status. Pick your columns, switch to cards, or press ⌘K to find anything.

Media Library

Every file in its place.
Every size on demand.

Upload into folders, add alt text, and filter by type, size, date or missing alt text. The CDN resizes and converts each image on the fly, so you upload it once.

The Media library in grid view, with filters for type, size, date and alt text.The Media library in grid view, with filters for type, size, date and alt text.
An illustration of snowy peaks at dawn above a pine forest, with a lit tent in a clearing.
autumn-hero.jpgCampaigns / Autumn
Alt text
Lodge on a cliff above a pine forest at sunset
Used in 3 entries
cdn.capacms.com/files/autumn-hero.jpg?width=800&format=avif
  • Images, video, audio, PDFs and Office files
  • Up to 800 MB a file
  • Replace a file and keep its links
  • See where each file is used
Teams & Roles

Exactly the access
each person needs.

Start from four roles. Then scope each person by project, model and action, so a freelance writer drafts articles, a client updates the menu, and nobody touches what they shouldn’t.

Members6Invite
T
Theo ParkContent role, scoped
Projects
  • Osteria Lumen(has access)
  • Fernhill Outdoor(no access)
  • Kiln Coffee(no access)
  • Studio North(no access)
Models and actions
ModelReadCreateEditPublishDelete
PagesNot allowedNot allowedNot allowedNot allowedNot allowed
MenusNot allowedNot allowedNot allowedNot allowedNot allowed
ArticlesAllowedAllowedAllowedNot allowedNot allowed
EventsNot allowedNot allowedNot allowedNot allowedNot allowed
SettingsNot allowedNot allowedNot allowedNot allowedNot allowed

Drafts articles in one project. Ana reviews them in the queue and publishes.

  • Admin

    Everything, including members and billing.

  • Developer

    Models, keys and content. No billing.

  • Content

    Writes, publishes and organizes entries and media.

  • Viewer

    Reads the project. Changes nothing.

For agencies

One login.
Every client project.

Each client gets a project with its own models, keys and members. Switch between them in a click, give every team a sidebar that fits, and hand over a site the client can edit by clicking it.

A project per client

Models, API keys and members stay inside the project. You see every one of them from a single login.

Workspaces

Shape the sidebar for each team, shared or private. Start blank, or from the Website or Catalog layout.

The workspace menu: switch between team workspaces, each with its own sidebar of models.The workspace menu: switch between team workspaces, each with its own sidebar of models.

Client handover

Give the client a site they can edit by clicking it, and access to their project only.

  1. 1
    Build with the SDK

    Add @capacms/sdk and tag the fields an editor can click.

  2. 2
    Invite the client

    A Content role, scoped to their project and the models they own.

  3. 3
    They click to edit

    Preview opens their site beside the form. Changes wait as drafts until they publish.

Commerce Syncs

Products and reviews,
next to your content.

Capa syncs your catalog in and keeps it current, so a story, a landing page or a menu can point at the real product.

Shopify

Self-serve
  • Products and variants
  • Collections
  • Pages, blogs and articles
  • Menus
  • Metaobjects

Square

On request
  • Items and variations
  • Categories
  • Inventory and availability
  • Locations and taxes
  • Images

Judge.me

On request
  • Ratings, titles and review text
  • Reviewer names and verified status
  • Matched to the product they review
  • Ready to reference from any entry
Every screen

Write it once.
Ship it everywhere.

Your website, your app, the screen in the shop and anything else that reads the API get the same entry. Publish once, and every one of them reads the new version.

Autumn menuMenuPublished
Title
Autumn menu, from 5 pm nightly
Dishes
Mushroom risottoSquash agnolotti+2
Hero image
autumn-hero.jpg
  • Website

    Next.js, Astro or plain fetch

  • App

    iOS, Android or anything native

  • In-store screen

    The menu board by the door

  • Anything else

    REST or GraphQL, one key per channel

For your stack

Fast for visitors.
Friendly to developers.

Published content is served from the nearest edge, and a publish is live in seconds. Developers get typed APIs, an SDK and a server their agents can use.

Bring your team. Bring your clients.

Start on the free plan. Add people, projects and clients as you grow.