For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
LogoLogo
Sign in
    • Changelog
  • Changelog
Sign in
On this page
  • September 29, 2026
  • Manage site swatches from the REST API
  • September 28, 2026
  • Docs MCP Server: clearer scope and Claude Code setup
  • September 18, 2026
  • Read a page's element tree from the REST API
  • August 14, 2026
  • Navigation Sidebar updates
  • August 12, 2026
  • Sort elements using keyboard arrows
  • August 11, 2026
  • Resource References in the Visual Builder
  • August 3, 2026
  • Diagnostics dialog in the Visual Builder
  • July 23, 2026
  • Availability badges in the sidebar
  • July 16, 2026
  • Apps are now generally available
  • June 23, 2026
  • New IconRadioGroup control

Changelog


September 29, 2026
September 29, 2026

September 28, 2026
September 28, 2026

September 18, 2026
September 18, 2026

August 14, 2026
August 14, 2026

August 12, 2026
August 12, 2026

August 11, 2026
August 11, 2026

August 3, 2026
August 3, 2026

July 23, 2026
July 23, 2026

July 16, 2026
July 16, 2026

June 23, 2026
June 23, 2026
Older posts
Next
Built with

Manage site swatches from the REST API

Five new v4 endpoints let you create, read, update, and delete a site’s colors from the REST API.

List Swatches
GET /v4/swatches?siteId={siteId}

Returns a site’s swatches, with cursor-based pagination through limit (1–100, default 20) and startingAfter.

Create Swatch
POST /v4/swatches

Adds a swatch to a site. siteId, hue, saturation, and lightness are required; name is optional.

Get Swatch
GET /v4/swatches/{id}

Returns a single swatch.

Update Swatch
PATCH /v4/swatches/{id}

Changes a swatch’s name, hue, saturation, or lightness. Omitted fields keep their current values. Swatches are grouped by name prefix, so renaming White to Neutrals / White moves the swatch into the Neutrals group.

Delete Swatch
DELETE /v4/swatches/{id}

Removes a swatch.

Each swatch stores its color as HSL values: hue (0–360), saturation (0–100), and lightness (0–100).

The GET apis both provide id and referenceId for each swatch returned. All 5 endpoints above use id. referenceId is the value that appears as swatchId in a page’s element tree (GET /v6/pages/:id?expand=elements). Use it as a reference to find swatches in page content.

The swatch endpoints are part of the Resource APIs project, currently in Beta, and may change. Requests return 403 until the feature is enabled for your site or workspace. To opt-in, please contact support: support@makeswift.com.

For details, see List Swatches, Create Swatch, Get Swatch, Update Swatch, and Delete Swatch.

Docs MCP Server: clearer scope and Claude Code setup

Thanks to user feedback, the page for connecting AI tools to the Makeswift docs is now Docs MCP Server, says up front what the server does, and clarifies the Claude Code setup instructions.

  • Docs search only. The server lets your agent search and reference the documentation. It has no access to your sites, pages, or workspace settings. To work with site data, use the Makeswift API.
  • Claude Code setup in three steps. Copy, run, confirm, with the single-project and every-project (--scope user) commands shown side by side so you pick before you run.
  • Buttons described accurately. Connect to Cursor installs the server directly. Connect to Claude Code copies the install command for you to paste.

Read a page’s element tree from the REST API

The Get Page endpoint now accepts expand=elements, returning the page’s full element tree alongside the page record.

GET /v6/pages/{pageIdOrPathname}?expand=elements
  • Opt-in — omit expand and the response is unchanged. elements is included only when you request it, and expand accepts only elements (any other value returns a 400).
  • Respects existing resolution — the returned tree honors the same locale and versionRef parameters as the endpoint. ?locale= returns the localized tree; ?versionRef=ref:live returns the published tree (default is ref:draft).
  • Tree shape — each node has a type, a key (a UUID unique within the tree), and props. Nested elements live inside props, at any depth.

For details, see the expand parameter on Get Page.

Navigation Sidebar updates

The Navigation Sidebar has been reorganized around a split pane that shows your pages and the Elements Panel at the same time, and you can now sort elements directly in the Elements Panel.

The Navigation Sidebar showing Content and Design tabs, a list of pages in the top pane, and the Elements Panel in the bottom pane
The updated Navigation Sidebar with Pages and Elements in a split pane
  • Split pane for pages and elements — pages and the Elements Panel share the sidebar, so you can move between pages and inspect the structure of the current page without switching panels.
  • Settings in the site switcher — workspace and site settings have moved into the site switcher menu at the top of the sidebar.
  • Files manager button — files open from the button beside the Content and Design tabs.
  • Updated Help button — the ? button in the bottom left now opens Contact support, View docs, Shortcuts, and the updated Diagnostics dialog for gathering diagnostic information.
  • Sort elements in the Elements Panel — drag an element in the Elements Panel to reorder it within its parent, without dragging it on the Canvas.
Reordering elements by dragging them in the Elements Panel

For details, see The basics.

Sort elements using keyboard arrows

Select an element in the Canvas or Elements Panel in the left sidebar and press an arrow key to move it within its parent, without dragging it.

  • Left and right — reorder an element with its direct siblings in the same Box or Slot row.
  • Up and down — move an element between rows, when it sits in a row by itself and the adjacent row above or below also holds a single element.
  • Scoped to the parent — arrow keys move an element within its Box or Slot only.

Resource References in the Visual Builder

Some resource changes affect more than one page. Resource References show all of the places a resource is used, so you can add, edit, and delete resources with confidence.

A color's edit panel showing a Used in n places item, expanded to a list of pages and regions, with a page expanded to show its locales
Resource References for a site color
  • Supported resources: colors, text styles, files, and global components.
  • Usage count in context: a Used in n place(s) item appears in the resource’s Action Menu (⋯), or in a color or text style’s edit panel.
  • Pages and regions: the submenu lists the pages using the resource, plus the regions using it. Click a page to navigate to it; regions are listed for reference only, since they can be shared across multiple pages.
  • Locale aware: expand a page to see which locales use the resource, and navigate straight to that page in a specific locale.

References are tracked through pages and regions, not through global components or text styles. A color that is used inside a global component that is used on 3 pages will report as being used on 3 pages. If that global component is not used on any pages or regions, the color will show no resource references.

For details, see Resource References.

Diagnostics dialog in the Visual Builder

The Copy diagnostics item in the Visual Builder Help menu has been replaced with Diagnostics, which opens a dialog where you can review diagnostic information before sharing it.

The Diagnostics dialog showing builder identifiers, host information, and host connection details
The Diagnostics dialog in the Makeswift Visual Builder
  • Review before you share: diagnostics are grouped into sections for builder identifiers, host information, host connection, selection, and browser information.
  • Copy or download: copy a readable report, copy the full diagnostics data, or download it as a ZIP file to attach to a support request.
  • Section-level copying: copy an individual section instead of the whole report.

For details, see Diagnostics.

Availability badges in the sidebar

The documentation site now shows availability badges in the sidebar navigation, making it easier to spot the status of a page before you open it. This is a documentation-site improvement, not a change to Makeswift itself.

  • Beta and deprecated indicators: pages marked beta or deprecated now surface that status directly in the sidebar.
  • Faster scanning: identify pre-release and legacy content at a glance while browsing the navigation.

Apps are now generally available

Apps are out of Early Access and available to everyone. You no longer need to enable an early access setting before creating an app to authenticate with the Makeswift REST API.

  • No setup required — head straight to Settings → Workspace → Apps to create an app and get your API key.

For details, see Authentication.

New IconRadioGroup control

The IconRadioGroup control adds an icon-based radio group panel to the Makeswift builder, letting developers offer visual icon options for component properties like alignment, layout direction, or style variants.

An IconRadioGroup panel in the Makeswift builder with rows of selectable alignment and icon options
An IconRadioGroup panel showing Alignment and Icons options
  • Kebab-case icon values — Pass icons as bare strings (e.g., "text-align-left", "arrow-right") or use the IconRadioGroup.Icon accessor
  • 169 built-in icons — Full set of icons covering alignment, arrows, layout, logos, and more
  • Typed generic prop — The control passes the selected option’s value as a typed string to your component

Example

import { IconRadioGroup } from "@makeswift/runtime/controls";
runtime.registerComponent(TextBlock, {
type: "text-block",
label: "Text Block",
props: {
alignment: IconRadioGroup({
label: "Alignment",
options: [
{ value: "left", label: "Left", icon: "text-align-left" },
{ value: "center", label: "Center", icon: "text-align-center" },
{ value: "right", label: "Right", icon: "text-align-right" },
],
defaultValue: "left",
}),
},
});

For full documentation, see the IconRadioGroup control reference.