POST /v1/pages

Create a page in a website. Returns the created page with the id you will use for every follow-up request.

Body parameters

Field Type Required Notes
website_idintegerYesThe site the page belongs to.
titlestringYesMax 255 characters. Used for the browser tab.
slugstringNoDerived from the title when omitted. Unique per website.
blocksarrayNoUp to 500 block objects with id and html.

Response 201

{ "id": 412, "website_id": 16, "title": "Careers", "slug": "careers", "status": "draft", "url": "/page/careers?website_id=16", "created_at": "2026-10-12T09:14:22Z" }

401 Unauthorized

Missing or expired token. Refresh and retry once.

422 Unprocessable

A slug collision or a field over its length limit. The body names the field.

Fetch a page list

The same request in four languages. Pick the one your team actually runs.

curl https://api.northwind.co/v1/pages -H "Authorization: Bearer $NORTHWIND_TOKEN" -H "Accept: application/json"
const res = await fetch('https://api.northwind.co/v1/pages', { headers: { Authorization: 'Bearer ' + process.env.NORTHWIND_TOKEN } }); const pages = await res.json();
$pages = Http::withToken(env('NORTHWIND_TOKEN')) ->get('https://api.northwind.co/v1/pages') ->json();
import os, requests pages = requests.get( "https://api.northwind.co/v1/pages", headers={"Authorization": f"Bearer {os.environ['NORTHWIND_TOKEN']}"}, ).json()

Rate limits

600 requests per minute per token, with a 429 and a Retry-After header when you exceed it.

You are reading v3.2. Pages for older versions stay online and are not updated with new features.

Frequently asked questions

Do I need to know how to code? +

Not at all. Every section is drag and drop, and text is edited inline. Code is optional, never required.

Can I use my own domain? +

Yes. Connect any domain in a couple of clicks and we provision SSL automatically.

Is there a free plan? +

Always. Build and preview for free, upgrade only when you publish your own domain.

Can I export my site? +

Yes. Export clean, static HTML and CSS at any time. Your work is never locked in.