> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequenzy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Landing Page

> Create a draft landing page

Create a draft landing page. Provide `content` to control the builder JSON, or
omit it and choose a `template` to start from default content.

## Request

<ParamField body="name" type="string">
  Landing page name. Defaults to a template-specific name.
</ParamField>

<ParamField body="slug" type="string">
  URL slug. It is normalized and made unique for the company.
</ParamField>

<ParamField body="template" type="string">
  Optional template key, such as `from-scratch`, `waitlist`, `lead-magnet`,
  `launch`, `demo-request`, `webinar`, `newsletter`, `product-hunt`,
  `pricing-offer`, `agency-lead-gen`, or `feature-announcement`.
</ParamField>

<ParamField body="content" type="object">
  Landing page builder JSON. Form redirect URLs are validated before saving.
</ParamField>

```bash theme={null}
curl -X POST "https://api.sequenzy.com/api/v1/landing-pages" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product Waitlist",
    "slug": "product-waitlist",
    "template": "waitlist"
  }'
```

## Responses

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "landingPage": {
      "id": "lp_abc123",
      "companyId": "comp_abc123",
      "name": "Product Waitlist",
      "slug": "product-waitlist",
      "status": "draft",
      "content": { "version": 2, "template": "waitlist", "blocks": [] },
      "viewCount": 0,
      "conversionCount": 0,
      "publishedAt": null,
      "createdAt": "2026-05-01T10:00:00Z",
      "updatedAt": "2026-05-01T10:00:00Z",
      "url": "https://sequenzy.com/dashboard/company/comp_abc123/landing-pages/lp_abc123",
      "appPublicUrl": null,
      "publicUrl": null
    },
    "message": "Landing page created as a draft. Use publish_landing_page when it is ready to go live."
  }
  ```

  ```json 400 theme={null}
  {
    "success": false,
    "error": "Invalid landing page content."
  }
  ```

  ```json 401 theme={null}
  {
    "success": false,
    "error": "Unauthorized"
  }
  ```

  ```json 500 theme={null}
  {
    "success": false,
    "error": "Failed to create landing page"
  }
  ```
</ResponseExample>
