Bulk discard changes
You can now discard multiple unpublished changes at once. Select the changes you want to discard the same way you select changes to publish.
To learn more, see Discarding changes.
Create pages and update regions in bulk from the REST API
Two new endpoints create many pages or update many regions at a time, and Create Regions moves to the same $bulk path.
Create Pages
Creates up to 1000 pages, each like Create Page, including its optional elements. The pages are created in one transaction. A failed page reports INVALID_PATHNAME, DUPLICATE_IN_BATCH, PATHNAME_CONFLICT, or INVALID_ELEMENT_TREE.
Update Regions
Updates up to 1000 regions, each like Update Region. A failed region reports NOT_FOUND, VERSION_CONFLICT, INVALID_LOCALE, INVALID_ELEMENT_TREE, DUPLICATE_IN_BATCH, or INTERNAL_ERROR. Only INTERNAL_ERROR is worth retrying.
- Same response shape: like Create Regions, both return one result per item, in request order:
{ "success": true, "data": ... }or{ "success": false, "error": { "code": ..., "message": ... } }. An error in one item doesn’t keep the others from being written. - Create Regions moved:
POST /v1/regions/batchis nowPOST /v1/regions/$bulk. The old path no longer exists.
The page and region bulk endpoints are in beta and may change. Requests return 403 until the feature is enabled for your site or workspace. To opt in, contact support: support@makeswift.com.
For details, see Create Pages and Update Regions.
List pages with their element trees from the REST API
The List Pages endpoint now accepts include=elements, returning each page’s element tree alongside the page records.
- Opt-in: omit
includeand every page’selementsisnull.includeaccepts onlyelements(any other value returns a400).
include=elements is in beta and may change. Requests that pass it return 403 until the feature is enabled for your site or workspace. To opt in, contact support: support@makeswift.com.
For details, see the include parameter on List Pages.
Create regions in batches from the REST API
A new v1 endpoint creates many regions in one request.
Create Regions
Creates up to 1000 regions, each like Create Region. Each region is created on its own: the response has one result per region, in request order, and a region that fails does not stop the others.
- Error codes: a failed region reports
REGION_EXISTS,BASE_REGION_MISSING,INVALID_LOCALE,INVALID_ELEMENT_TREE,DUPLICATE_IN_BATCH, orINTERNAL_ERROR. OnlyINTERNAL_ERRORis worth retrying. - Default locale first: regions in the default locale are created before regions in site locales, so a region in a site locale may come before its default locale’s region in the same batch.
The region endpoints are in beta and may change. Requests return 403 until the feature is enabled for your site or workspace. To opt in, contact support: support@makeswift.com.
For details, see Create Regions.
Update and delete regions from the REST API
Two new v1 endpoints complete the region API: you can now replace a region’s element tree and delete a region.
Update Region
Replaces a region’s element tree in one locale. The component type at the root of elements becomes the region’s type. Updating the default locale also updates the localized regions that inherit from it.
Delete Region
Deletes a region in one locale. Only the draft changes: the live site changes when you publish.
- Region versions: every region response now includes
version, which increases with every change to the region’s element tree. - Safe updates: pass the
versionfrom an earlier read to Update Region. If the region changed since, the request returns409and changes nothing. Leaveversionout to update the region regardless.
The region endpoints are in beta and may change. Requests return 403 until the feature is enabled for your site or workspace. To opt in, contact support: support@makeswift.com.
For details, see Update Region and Delete Region.
Delete typographies from the REST API
A new v4 endpoint lets you delete a site’s typography.
The delete is unconditional: Text elements that still reference the typography aren’t checked, so update them first if they should keep a style.
The typography endpoints are in beta and may change. Requests return 403 until the feature is enabled for your site or workspace. To opt in, contact support: support@makeswift.com.
For details, see Delete Typography.
Manage regions from the REST API
Three new v1 endpoints let you create, list, and read a site’s regions, including their element trees, from the REST API.
List Regions
Returns a site’s regions for one locale, with cursor-based pagination through limit (1–100, default 20) and startingAfter.
Create Region
Creates a region in one locale. siteId, id, name, and elements are required. The component type at the root of elements becomes the region’s type. Returns 409 if the region already exists.
Get Region
Returns a single region in one locale. URL-encode the id if it contains reserved characters such as /.
- You choose the ID: Makeswift doesn’t generate region IDs. You assign the ID (for example,
site-header), and it must be unique within a site and locale. - One locale per request: all three endpoints accept a
localeparameter, as either a locale code likeen-USor a site locale UUID. If you leave it out, the request uses the site’s default locale. A region has to exist in the default locale before you can create it in another locale. - Element trees are optional: pass
include=elementsto List Regions or Get Region to get each region’s element tree. Without it,elementsisnull.
The region endpoints are in beta and may change. Requests return 403 until the feature is enabled for your site or workspace. To opt in, contact support: support@makeswift.com.
For details, see List Regions, Create Region, and Get Region.
Runtime v0.29.0
@makeswift/runtime v0.29.0 fetches snapshots faster and rebuilds how Makeswift generates CSS and applies style updates. It also has breaking changes that may require updates to your host.
- React 19 required. Your host must run React 19. Next.js hosts must be on Next.js 15 or later.
cacheKeyrenamed toclassNamePrefix. ThecacheKeyprop on<RootStyleRegistry>is nowclassNamePrefix(defaultms). Use it to set a custom prefix for Makeswift-generated CSS class names.<RootStyleRegistry>required for Pages Router. Pages Router hosts must now wrap their content in<RootStyleRegistry>insideReactRuntimeProvider:
- New
forceImportantprop. SetforceImportanton<RootStyleRegistry>to add!importantto Makeswift-generated CSS declarations, so they win when your site’s own CSS conflicts with them.
For migration steps, see the v0.29.0 upgrade guide. For component details, see the <RootStyleRegistry> reference.
Manage site typographies from the REST API
Four new v4 endpoints let you create, read, and update a site’s typographies (the text styles in the Visual Builder) from the REST API.
List Typographies
Returns a site’s typographies in position order, with cursor-based pagination through limit (1–100, default 20) and startingAfter.
Create Typography
Adds a typography to a site. siteId is required; name and style are optional.
Get Typography
Returns a single typography.
Update Typography
Changes a typography’s name or style. Omitted fields keep their current values. When you send style, it replaces the full per-device array, so entries for individual devices aren’t merged. A / in the name nests the typography in a group, so renaming H1 to Headings / H1 moves it into the Headings group.
- Per-device styles:
styleis an array of{ deviceId, value }entries. Eachvaluecan setfontFamily,fontSize({ value, unit }),fontWeight,lineHeight,letterSpacing,textAlign,italic,underline,strikethrough,uppercase, andcolor. - Colors come from swatches:
color.swatchIdtakes theidof an existing swatch, so create the swatch first with the Swatch API.color.alpha(0–1) sets opacity. - Two IDs: the typography endpoints use
id.referenceIdis the value a Text element’stypographyprop uses in a page’s element tree, so use it to find a typography in page content.
The typography endpoints are in beta and may change. Requests return 403 until the feature is enabled for your site or workspace. To opt in, contact support: support@makeswift.com.
For details, see List Typographies, Create Typography, Get Typography, and Update Typography.
Makeswift Embed is now HTML Embed
The Makeswift Embed component has been renamed HTML Embed to better describe what it does and to make it quicker to find when you want to add your own HTML. Functionality is unchanged.
