---
title: "Create or replace an on-brand landing page"
method: POST
path: "/api/public/content/pages"
---

# Create or replace an on-brand landing page

`POST /api/public/content/pages`

## Request

- Base URL: `https://enso.bot`
- URL: `https://enso.bot/api/public/content/pages`
- Auth: API key in header `x-api-key`

Publishes immediately after schema and brand quality validation. The first block must be the only hero and its subcopy must state a clear ICP. Styling and customer logos are supplied by enso.

## Request body

- SitePageInput
  - `slug` string, required
  - `title` string, required
  - `description` string
  - `og_image_url` string, uri
  - `cta_label` string
  - `cta_href` string
  - `noindex` boolean
  - `is_published` boolean
  - `blocks` PageBlock[], required: The first block must be the page's only hero. Include hero subcopy naming the ICP.
    - union
      - object
        - `type` 'hero', required
        - `eyebrow` string
        - `title` string, required
        - `sub` string, required: Must clearly state the target ICP.
        - `bullets` string[]
        - `ctaLabel` string
        - `ctaHref` string: A site path or absolute https URL.
        - `imageUrl` string, uri: Absolute https URL only.
        - `imageAlt` string
      - object
        - `type` 'logos', required
        - `title` string
      - object
        - `type` 'stats', required
        - `items` object[], required
          - `value` string, required
          - `label` string, required
      - object
        - `type` 'features' | 'steps', required
        - `title` string
        - `lede` string
        - `items` object[], required
          - `title` string, required
          - `body` string, required
      - object
        - `type` 'quote', required
        - `quote` string, required
        - `who` string
        - `company` string
      - object
        - `type` 'richtext', required
        - `title` string
        - `markdown` string, required
      - object
        - `type` 'faq', required
        - `title` string
        - `items` object[], required
          - `q` string, required
          - `a` string, required
      - object
        - `type` 'leadform', required
        - `title` string
        - `sub` string
      - object
        - `type` 'cta', required
        - `title` string, required
        - `sub` string
        - `ctaLabel` string
        - `ctaHref` string

## Response `201`

Published

## Other responses

- `401`: Unauthorized
- `422`: Schema or brand quality validation failed

---

[API](https://skmtc.dev/enso-bot/apis/enso-bot-public-api.md) - [All operations](https://skmtc.dev/enso-bot/apis/enso-bot-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/enso-bot/apis/enso-bot-public-api/revisions/ff8a7e514aee?raw)
