> ## 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.

# Render Landing Page Preview

> Get a visitor-facing preview URL for a landing page without publishing it

Return a signed, unlisted preview of the current landing page content. Use this
to check layout, copy, form placement, and in-page anchors such as `#form`
before the page is live.

Drafts keep `publicUrl` and `appPublicUrl` set to `null` until you publish.
`previewUrl` works for drafts and published pages. It is not indexed, does not
count as a public view, and signup forms on a draft preview do not collect
contacts.

<Note>
  This endpoint is read-only. It requires the `landing_pages:read` scope and
  never publishes, unpublishes, or modifies the page. It uses `POST` to match
  the other render endpoints.
</Note>

## Request

<ParamField path="landingPageId" type="string" required>
  Landing page ID.
</ParamField>

```bash theme={null}
curl -X POST "https://api.sequenzy.com/api/v1/landing-pages/lp_abc123/render" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Responses

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "landingPageId": "lp_abc123",
    "name": "Product Waitlist",
    "status": "draft",
    "published": false,
    "title": "Join the Acme waitlist",
    "previewUrl": "https://sequenzy.com/lp/preview/lp_abc123?token=...",
    "publicUrl": null,
    "message": "Draft preview. This URL is not indexed and is not on your public domain. Signup forms do not collect contacts until you publish. Open previewUrl to review the page as visitors will see it."
  }
  ```

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

  ```json 404 theme={null}
  {
    "error": "Landing page not found"
  }
  ```
</ResponseExample>
