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

# Connect landing page domain

`POST /landing-pages/domain`

Connects or replaces the custom domain for published landing pages.

## Request body

- object
  - `domain` string, required — Custom landing page domain.

## Response `200`

Landing page domain connected

- object
  - `success` boolean
  - `domain` LandingPageDomain
    - `domain` string, nullable
    - `domainScope` 'page' | 'workspace', nullable — Domain assignment scope.
    - `landingPageId` string, nullable — Assigned landing page ID for a dedicated page domain.
    - `domainStatus` string
    - `fallbackDomain` string, nullable — Verified or pending workspace domain retained as a fallback for a page-scoped domain.
    - `fallbackDomainStatus` string — Workspace fallback-domain status; `not_started` when no fallback domain is configured.
    - `verifiedAt` string, date-time, nullable
    - `dnsRecordAddedAt` string, date-time, nullable
    - `sslStatus` string, nullable
    - `error` string, nullable
    - `verificationRecords` object[]
    - `lastCheckedAt` string, date-time, nullable
    - `cnameTarget` string
    - `dnsRecordType` 'A' | 'CNAME' — DNS record type to add - CNAME for subdomains, A for root domains.
    - `dnsRecordName` string, nullable — DNS record name (the connected hostname); null when no domain is connected.
    - `dnsRecordValue` string — DNS record value - the CNAME target for subdomains or the A record IP (76.76.21.21) for root domains.
  - `message` string

## Other responses

- `400` — Invalid domain or provisioning error
- `401` — Unauthorized
- `409` — Domain conflict
- `500` — Domain could not be connected

## Changes

> 121 revisions in range; 3 could not be searched.

- **2026-08-20** `721dbe59409a` — 3 info
  - added the optional property `domain/dnsRecordName` to the response with the `200` status
  - added the optional property `domain/dnsRecordType` to the response with the `200` status
  - added the optional property `domain/dnsRecordValue` to the response with the `200` status
- **2026-08-19** `ba3a29c6eb33` — 8 info
  - added the optional property `domain/domainScope` to the response with the `200` status
  - added the optional property `domain/fallbackDomain` to the response with the `200` status
  - added the optional property `domain/fallbackDomainStatus` to the response with the `200` status
  - added the optional property `domain/landingPageId` to the response with the `200` status
  - …4 more
- **2026-08-16** `6fd2903b91ce` — 4 info
  - added the optional property `code` to the response with the `400` status
  - added the optional property `code` to the response with the `401` status
  - added the optional property `code` to the response with the `409` status
  - added the optional property `code` to the response with the `500` status
- **2026-08-02** `36f92fc0caa2` — 4 breaking
  - the response property `success` became optional for the status `400`
  - the response property `success` became optional for the status `401`
  - the response property `success` became optional for the status `409`
  - the response property `success` became optional for the status `500`
- …earlier changes not shown

[Full history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/landing-pages/domain/post.md)

---

[API](https://skmtc.dev/sequenzy/apis/sequenzy-api.md) · [All operations](https://skmtc.dev/sequenzy/apis/sequenzy-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sequenzy/sequenzy-api/revisions/73f826277d9a/schema)
