---
title: "Custom Domains"
description: "Connect a hostname like status.deinkunde.com to a status page so it runs entirely under your own brand. A hostname can be bound to exactly one status page, and the certificate is issued automatically once the domain is verified and active."
---

## How it works

A custom domain moves through three states:

1. **Pending**: added, waiting for DNS verification.
2. **Verified**: the TXT record was found; ready to activate.
3. **Active**: the page is served on the hostname over HTTPS.

```
Add hostname  →  Add TXT record  →  Verify  →  Activate  →  Point CNAME
   (pending)        (your DNS)      (verified)   (active)     (traffic)
```

## Step 1: Add the hostname

In the app: **Dashboard → Status Pages → (page) → Custom Domain → Add**, enter `status.deinkunde.com`. Via the API: [Add Custom Domain](/api/status-pages/add-status-page-domain).

Uptimeify returns a TXT verification record:

- **TXT name**: `_uptimeify-verify.status.deinkunde.com`
- **TXT value**: the token shown in the app / API response

## Step 2: Add the TXT record

Create the TXT record in your DNS provider exactly as shown. Keep it in place. It is also re-checked over time.

<Callout type="info">
DNS changes can take anywhere from a few minutes to a few hours to propagate. If verification fails immediately, wait and retry.
</Callout>

## Step 3: Verify

Click **Verify** (or call [Verify Status Page Domain](/api/status-pages/verify-status-page-domain)). Uptimeify looks up the TXT record and checks the token matches. On success the domain becomes **Verified**.

## Step 4: Activate

Click **Activate** (or call [Activate Status Page Domain](/api/status-pages/activate-status-page-domain)). The domain becomes **Active** and a TLS certificate is provisioned automatically (on-demand HTTPS): no certificate upload required.

## Step 5: Point traffic to Uptimeify

Finally, point the hostname at Uptimeify so visitors actually reach the page. Add the CNAME shown in the app for `status.deinkunde.com`. Once DNS resolves, `https://status.deinkunde.com/` serves your status page.

<Callout type="warn">
Keep both records in place: the **TXT** record (used for ongoing verification) and the **CNAME** (routes visitor traffic). Removing the TXT record can cause the domain to fail re-verification.
</Callout>

## Removing a domain

Remove the binding in the app or via [Remove Custom Domain](/api/status-pages/remove-status-page-domain). The status page stays reachable on its `/status/<slug>` and `/status/<id>` URLs.

## Troubleshooting

### "TXT verification failed (token not found)"

- Confirm the TXT **name** is exactly `_uptimeify-verify.<your-hostname>`.
- Confirm the TXT **value** matches the token from Uptimeify (no extra quotes or spaces).
- Give DNS more time to propagate, then verify again.
- Check you didn't add the record to the wrong zone (e.g. apex vs subdomain).

### The page doesn't load on my domain

- Make sure the domain is **Active**, not just Verified.
- Confirm the **CNAME** points to the target shown in the app.
- The first request after activation may be slightly slower while the certificate is issued.

