---
title: "Set Custom Domain"
method: PUT
path: "/api/v1/content/properties/{property_id}/custom-domain"
tags: ["Content Management"]
---

# Set Custom Domain

`PUT /api/v1/content/properties/{property_id}/custom-domain`

Point a hotel-owned hostname at this property's guide and provision TLS.

The edge maps the host onto the guide_slug, so the public resolution path is
unchanged. We register the hostname with Cloudflare for SaaS so HTTPS is
issued automatically — the hotel only adds a single CNAME at their DNS
provider (no Cloudflare account or worker on their side).

## Path parameters

- `property_id` string, uuid, required

## Request body

- CustomDomainUpdate
  - `custom_hostname` string, required
  - `custom_path_prefix` string, nullable

## Response `200`

Successful Response

- CustomDomainResponse
  - `custom_hostname` string, nullable, required
  - `custom_path_prefix` string, nullable, required
  - `cname_target` string, nullable, required
  - `ssl_status` string, nullable
  - `cloudflare_configured` boolean

## Other responses

- `409` — Hostname already in use by another property
- `422` — Invalid hostname or path
- `502` — TLS provisioning failed

---

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