Website Delivery Modes & Headless API
Website Delivery Modes & Headless API
Your public website can come from the built-in storefront, from a separately deployed frontend (for example a Next.js app or a mobile app), or from both. The choice lives in one admin screen and changing it needs no deploy.
Where to set it
Site Builder → Website delivery (/admin/storefront/headless). The screen shows the current mode, the frontend address, a reachability check and the time of the last cache refresh sent to the frontend.
The five modes
| Mode | Public website | When to use it |
|---|---|---|
| Built-in website only | This app | Most stores. One server, nothing extra to deploy. |
| Built-in and separate frontend | Both | You are trying a new frontend while the current site keeps selling. Customer emails link to the site the customer used. |
| Built-in pages, shop on the frontend | Home, pages and blog here; shop, cart, checkout and account on the frontend | Your content team keeps the page builder while the shop moves to the faster frontend. |
| Separate frontend only | The frontend | The frontend is the whole public site. This host redirects visitors there and keeps only the admin panel and the API, hidden from search engines. |
| Website off | None | A back office with no catalogue, for example a manufacturer running only the ERP. |
Every redirect, generated link and customer email — password reset, verification, orders, cart recovery — follows the mode you choose.
The Storefront API
- Base address:
/api/storefront/v1. It is closed until you choose a mode that uses a frontend. - Reference:
/api/storefront/v1/docs(OpenAPI). It is visible to admins; you can make it public in the same screen. - Covers the site, theme, pages, menus, header and footer, forms, catalogue, cart, checkout, sign-in and the customer portal. Optional modules such as blog, reviews, bookings and loyalty answer only when they are installed.
- Every list endpoint is paginated (24 per page by default, up to 60).
Switching to a separate frontend safely
- Deploy the frontend and note its HTTPS address.
- Choose Built-in and separate frontend first, enter the frontend address and save. Both sites now work.
- Test browsing, cart, checkout and sign-in on the frontend.
- Add redirects for any old links that change shape, one per line.
- Only then switch to Separate frontend only or the pages/shop split.
- If you use Cloudflare, add the zone id and a purge token so the frontend cache clears after every content change.
Last updated: 10/5/2026

