Skip to main content
Cactal is a website platform where organizations own websites, and every operation on a website is available to humans and agents through the same three interfaces. The dashboard also ships the built-in Cactal agent, which runs these same operations from a conversation beside your site.

The resource model

An organization is the unit of ownership and billing. It holds members, API keys, an audit log, and websites. A website belongs to exactly one organization and bundles everything one site needs: Access to all of it flows through one capability-based permission model. See Access control.

Draft head and published version

Every website tracks two version numbers. headVersion is the draft: every source edit advances it by one, append-only. publishedVersion is the version the live site serves, and it only moves when you publish or roll back. This split means edits are never live until you decide. List the files that differ between head and published with GET /v1/websiteSourceCode/changes, inspect selected files with GET /v1/websiteSourceCode/files/diff, and discard drafts or restore any historical version with POST /v1/websiteSourceCode/head/restore. See Publishing.
A new website starts at headVersion: 1 with publishedVersion: null. Nothing is publicly served until the first publish, so you can build the entire site as a draft on any plan.

Three interfaces, one operation set

The dashboard, the REST API, and MCP all invoke the same underlying operations with the same authorization, rate limits, and audit pipeline. The built-in Cactal agent drives them from the dashboard on your behalf, and anything you can do in the dashboard, an outside agent can do with an API key. The MCP server is stateless Streamable HTTP: POST /v1/mcp handles every message, and GET or DELETE on that path return 405. Each public REST endpoint appears as one MCP tool, named from its operation id — websites.create becomes the websites_create tool. tools/list only returns tools the key’s capabilities allow. The same website list, fetched over REST:

Control plane and content plane

Cactal keeps product surfaces and customer content on separate domain families. The control plane (cactal.ai) carries trusted product traffic; the content plane (cactal.app) carries public customer output. This separation keeps session cookies and API keys away from user-generated content, and lets custom domains point at content-plane infrastructure only. Requests to api.cactal.ai never accept browser session cookies.

Next steps

Quickstart

Create a website, write a page, and publish it from the command line.

Websites

The website resource, its fields, and its lifecycle from create to transfer.

Build with the Cactal agent

Ask for changes beside the live preview, or bring your own agent over MCP.

Access control

Roles, capabilities, and how API keys map onto them.