> This page is for Developer.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.bigcommerce.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.bigcommerce.com/_mcp/server.

# Page Builder

Plan: Stencil Developer

Lesson 16 of 23 · 15 min

This module covers the [Widgets API](/developer/api-reference/rest/admin/content/widgets) endpoints for placing content on a storefront programmatically: the widget endpoints, which create instances of a widget template, and the placement endpoints, which put those widgets into regions on specific template files. Programmatic placement uses the Widgets API and is a Page Builder capability. Widgets placed this way appear in Makeswift, but you must convert a region to Makeswift before you can control its content there.

In the previous modules, you declared regions in the theme and built widget templates with a schema. Page Builder, the visual editor built into the BigCommerce control panel for Stencil storefronts, is where those pieces come together. Store users can drag widgets into regions by hand, and your integrations can place them with the API.

## Widget Templates in the Drawer

The widget templates you created in the earlier modules, including the Static Image + Content widget template from Module 4, appear in Page Builder's widget drawer alongside the built-in widgets. A store user can drag one into a region and configure it through the settings panel your schema defines, with no further work from you.

This is the same mechanism BigCommerce uses for its own built-in widgets, so a custom widget template looks and behaves like any other in the drawer.

## Placing Widgets with the API

Dragging a widget into a region in the editor is one way to place content. The other is the API, which this module covers in the lessons that follow:

* A **widget** is an instance of a widget template, combined with a widget configuration
* A **placement** puts a widget into a region on a specific template file

Using the API to create widgets and placements is the "Page Builder" way of placing widgets.

> **Note**
>
> The widget and placement endpoints are Page Builder-only. Content placed with them still renders in Makeswift, but it isn't editable there:
>
> * The widget displays as the region's fallback content, and its own properties can't be edited in Makeswift
> * To control the region's content in Makeswift, convert the region to Makeswift. Content you build in Makeswift then overrides the widget.
>
> This differs from a widget template converted to a native Makeswift component, which is placed and configured in Makeswift itself. In the future, a Makeswift API will allow content placements specific to Makeswift.

## What's Next

The remaining lessons in this module show how to create widgets and placements with the API, and how to place them on your storefront in Page Builder.