---
title: "Create landing page"
method: POST
path: "/landing-pages"
tags: ["Landing Pages"]
---

# Create landing page

`POST /landing-pages`

Creates a draft landing page from default template content or supplied builder JSON.

## Request body

- object
  - `name` string — Landing page name.
  - `slug` string — URL slug. It is normalized and made unique for the company.
  - `template` 'from-scratch' | 'waitlist' | 'lead-magnet' | 'launch' | 'demo-request' | 'webinar' | 'newsletter' | 'product-hunt' | 'pricing-offer' | 'agency-lead-gen' | 'feature-announcement' — Template key used when content is omitted.
  - `content` LandingPageContent — Landing page builder JSON.
    - `version` integer, required
    - `template` string
    - `seo` object — Search and browser metadata for the published page.
      - `title` string
      - `description` string
      - `faviconUrl` string — Browser tab icon for the published page. Leave empty to fall back to the company logo.
      - `hideFromSearchEngines` boolean — Adds a noindex, nofollow tag so crawlers keep the page out of search results. The page stays reachable by direct link.
    - `blocks` object[], required

## Response `200`

Landing page created

- object
  - `success` boolean
  - `landingPage` LandingPageSummary
    - `id` string
    - `companyId` string
    - `name` string
    - `slug` string
    - `status` 'draft' | 'published'
    - `content` LandingPageContent — Landing page builder JSON.
      - `version` integer, required
      - `template` string
      - `seo` object — Search and browser metadata for the published page.
        - `title` string
        - `description` string
        - `faviconUrl` string — Browser tab icon for the published page. Leave empty to fall back to the company logo.
        - `hideFromSearchEngines` boolean — Adds a noindex, nofollow tag so crawlers keep the page out of search results. The page stays reachable by direct link.
      - `blocks` object[], required
    - `viewCount` integer
    - `conversionCount` integer
    - `publishedAt` string, date-time, nullable
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `url` string, uri — Dashboard edit URL.
    - `appPublicUrl` string, uri, nullable — Sequenzy-hosted public URL when published.
    - `publicUrl` string, uri, nullable — Custom-domain public URL when a verified custom domain is connected, otherwise the Sequenzy-hosted public URL.
  - `message` string

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `500` — Landing page could not be created

---

[API](https://skmtc.net/sequenzy/apis/sequenzy-api.md) · [All operations](https://skmtc.net/sequenzy/apis/sequenzy-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sequenzy/sequenzy-api/versions/af1cf9620482/schema)
