---
title: "Documentation — PageWeave"
---

> For the full documentation index, see [PageWeave Documentation](https://pageweave.dev/docs) or fetch [llms.txt](https://pageweave.dev/llms.txt).

# DNS & Hostnames

PageWeave hosts DNS on its own nameservers (`ns1–ns4.pageweave.dev`) and serves websites from attached hostnames. This page covers what a zone ships with, what you create yourself, and how a name starts answering.

**Three independent layers:** a **domain** is a registration only ([Domains](/docs/domains)); a **DNS zone** is DNS hosting — the records live here; a **hostname** attaches a name to a website for serving/redirecting. Each works without the others — a zone can host a name registered anywhere, and deleting a domain never deletes its zone.

## What's provisioned automatically

| Item | Provisioned | Never create yourself |
| --- | --- | --- |
| Zone | `create_dns_zone`, or automatically when you purchase a domain here | — |
| Nameservers | Four NS records (ns1–ns4.pageweave.dev) + a provider-managed SOA with every zone | `NS` at the apex; `SOA` (not offered as a record type) |
| Pointing records | Apex `ALIAS` + `www` `CNAME` → `<subdomain>.pageweave.site` when the zone is created with `website`, or the purchase carries a website | Your own apex/`www` pointing records |
| Delegation | Automatic for domains purchased here (the registration points at our nameservers) | — |

Create only what's missing: mail records (`MX`, SPF/DKIM `TXT`), verification `TXT`, other subdomains, and the like.

## Zones & records

- **Zones** — `create_dns_zone` (registrable apex only — subdomain zones aren't supported yet) / `list_dns_zones` / `delete_dns_zone`. Zone inputs accept the name or the UUID; a name lives in exactly one workspace. `delete_dns_zone` is blocked while the nameservers still point to PageWeave (re-delegate first) or a registration for the name is in flight.
- **Records** — `add_dns_record` / `list_dns_records` / `update_dns_record` / `delete_dns_record` over 24 types: A, AAAA, ALIAS, CAA, CERT, CNAME, DNAME, DS, HINFO, HTTPS, LOC, MX, NAPTR, NS, OPENPGPKEY, PTR, RP, SMIMEA, SPF, SRV, SSHFP, SVCB, TLSA, TXT. Structured types take their extra fields in `params` (CAA, CERT, DS, HINFO, HTTPS/SVCB, LOC, NAPTR, RP, SMIMEA, SSHFP, TLSA); `record` is optional for types that carry their whole value there.
- **Hosts & TTLs** — write `@` (or an empty string) for the zone apex; anything else is a subdomain label (`www`, `blog`, `_dmarc`, `_sip._tcp`). TTLs run 60 seconds to 30 days.
- **Updates** — `update_dns_record` sends the record's complete state, so unprovided fields keep their current values.

## Record type notes

Type-specific details the provider enforces when you add a record:

- **HTTPS/SVCB** — `priority` is required (0–65535). `0` is alias mode: target only, no `parameters`. `parameters` are space-separated SvcParams, each `key=value`; alpn protocol lists are comma-separated inside their value — `alpn=h2,h3 ipv4hint=192.0.2.1`.
- **TLSA** — the host must be `_port._protocol` (e.g. `_443._tcp`).
- **DS** — belongs at a delegation: create the `NS` records at that host first.
- **NAPTR** — flags are case-sensitive; use uppercase (`S`).
- **HINFO** — `cpu` and `os` take plain tokens (letters/digits), no `_` or punctuation.
- **CERT** — the record value must be Base64; `cert_key_tag` (0–65535) and `cert_algorithm` identify the signature.
- **SSHFP/TLSA** — fingerprints/hashes must match the declared algorithm's length (SHA-256 → 64 hex chars).

## Delegation & serving

A zone answers queries once the registrar's nameservers point at `ns1–ns4.pageweave.dev` — automatic for domains bought here, a one-time NS change at the registrar otherwise. The `delegated` flag flips after the automatic check.

A website serves a name only when the name is attached as a **hostname** (`add_hostname`; Pro — free sites redirect to the platform subdomain) **and** DNS points at PageWeave — zone records when the zone is hosted here, records at the current DNS provider otherwise. `list_hostnames` reports `verified` from the DNS check; apex hostnames auto-add a `www→apex` redirect companion.

## Safety rails

- Deleting a website is blocked while any hostname is attached.
- Releasing a hostname is blocked while its DNS still resolves to PageWeave (subdomain-takeover protection) — remove the DNS records and wait out the TTL first.

