# dns_record_mismatch

The hostname has a record, but it points somewhere other than Apexly.

## What it means

We resolved the hostname from three places and found a CNAME (or A record) whose value is not your CNAME target, your white-label host, or our anycast addresses. The domain stays in `pending_dns` if it was never live, or moves to `dns_broken` if it was. In the second case we keep serving the existing certificate, so cached visitors are unaffected.

This is what `status_detail` carries in the API, and what the dashboard and connect page show.

## Why it happens

- The customer pointed the hostname at their old provider, or a site builder re-wrote the record during a migration.
- The customer entered the record on the wrong zone, for example at the registrar while DNS is hosted elsewhere.
- A wildcard record (`*.acme.com`) answers for the hostname and the specific record was never added.
- Your white-label host stopped pointing at `edge.apexly.dev`; every customer domain breaks at once. Settings shows this as "White-label: unverified".

## What to do

1. Open the domain in the dashboard. The Expected / Found card tells you which value is wrong.
2. Send the customer the connect link; it shows the same card in plain language with their provider's steps.
3. If many domains broke together, check Settings → White-label first.
4. Nothing else is needed. We re-check every 15 seconds for an hour and then every five minutes; the domain recovers on its own and fires `domain.verified` and `domain.active`.

Use `POST /v1/domains/{id}/verify` to check right now instead of waiting for the next scheduled check. One call per 15 seconds per domain.

- [Open this domain in the dashboard](/app/domains)
- [See the domain state machine](/docs/concepts/domain-states)

## In the API

```
"status": "dns_broken",
"status_reason":
  "dns_record_mismatch",
"status_detail": {
  "expected": {…},
  "found": {…},
  "hint": "…"
}
```
