Frequently Asked Questions
Dynamic DNS, custom domains, email security, monitoring, the API, account access, and privacy
KyedNS does two different things, and most "why can't I…" questions depend on which one you're using:
- Free DynDNS hostnames (
something.dyndns.dk) — one hostname whose A/AAAA records are managed automatically from an IPv4/IPv6 field. Found under the DynDNS tab. - Custom domains (your own
example.com) — a full list of individual DNS records you add, edit, and deploy. Found under the Domains tab.
How do I create a free hostname?
- Log in and click DynDNS in the top navigation.
- Click + Add Hostname.
- Type the subdomain you want — availability is checked live. International characters are allowed.
- Set an update token (min. 6 characters) — this is the password your router/client uses, not your account login.
- Accept the terms and click Create Subdomain. It's active instantly.
Where do I set the IP address?
A free hostname has no editable A record — the A record comes from the IPv4 Address field and the AAAA from the IPv6 Address field. To set it manually: DynDNS → click the hostname → Settings → enter the address(es) → Update Settings. In normal use you don't touch this — your router/client updates it automatically.
How do I remove the IPv4 (A record) from a free hostname?
There's no "delete A record" button. Go to Settings, clear the IPv4 Address field, and click Update Settings — the A record is removed on the next sync. Leave IPv6 Address populated to keep the AAAA record (the two are independent).
How do I delete a free hostname entirely?
DynDNS → click the hostname → Delete (red link in the action bar) → confirm. If a router or client is still sending updates, remove that DDNS entry too, or it'll keep trying.
Can I add a mail server (MX) to a free hostname?
Yes. On the hostname's Settings page, fill in Mail Server 1 (MX) (priority 10) and optionally Mail Server 2 (MX) (priority 20), then Update Settings.
I have no router DDNS support and won't install a client. Any options?
Use the Homepage Bookmark. On the hostname page, copy the URL shown (like https://kyedns.com/go/yourhost.dyndns.dk) and set it as your browser's homepage. Every time the browser opens, your IP updates and it jumps to the Destination you set on the hostname page. The URL contains no token, so it's safe to sync across devices (it relies on you being signed in — roughly once a month).
How do I add a custom domain?
- Domains → Add Domain, enter the domain name and administrator email, optionally tick record templates, and click Add Domain.
- At your registrar, point the domain's nameservers at the ones shown on the Add Domain page:
- Most domains:
ns1.kyedns.com,ns2.kyedns.com,ns3.kyedns.com .dkdomains:dns0.kyber.dk,dns1.kyber.dk,dns2.kyber.dk
- Most domains:
Registrar nameserver changes can take a few hours (sometimes 24–48h) to take effect globally.
How do I add a DNS record?
Domains → click the domain → + Add Record. Pick the type (A, AAAA, CNAME, MX, TXT, SRV, CAA, DYNAMIC, or CUSTOM). For Record Name, enter the subdomain only (e.g. www, or @ for the root) — not the full domain. Set the value and optional TTL (default 3600s), click Create Record, then Deploy.
How do I edit or delete a record?
Click Edit in the record's Actions column. To change it, update the value and click Update Record. To delete it, scroll to the bottom of the edit form and click the red Delete Record button (it's not in the list view), confirm, then Deploy. You can bulk-delete or bulk-set-TTL by ticking checkboxes and using the bulk-action dropdown.
I edited records but the changes aren't live. Why?
Edits are staged until you deploy. The badge near the domain name shows DNS Synced (live), Changes Pending (edits not yet live), or Not Deployed (never pushed). Click Deploy (the sync icon), review the preview of added/removed records, then Deploy to DNS. Records go live within moments; global caches still honor each record's TTL.
Can I set up a dynamic (auto-updating) record on my own domain?
Yes. Add a record of type DYNAMIC, give it a name (e.g. home) and its own update token, then Deploy. It updates via the same DynDNS2 protocol as free hostnames — point your client at the full hostname (e.g. home.example.com) using that record's token.
How do I add advanced record types like SSHFP or TLSA?
Choose CUSTOM as the record type, enter the type in uppercase (e.g. SSHFP, TLSA) and the full record value. Use this only for types not in the standard dropdown.
Can I import my existing DNS records?
Yes. On the domain page, click Import to paste records from another provider. You can also click Config to download the domain's zone file.
How do I delete a custom domain?
The Delete button is under Settings on the domain page. Deletion runs a live nameserver check: if your registrar still points at KyedNS, it's blocked (removing it would break your DNS). Repoint your registrar away first, then delete.
How do I set up SPF and DMARC for my domain?
If a domain sends email it should have SPF and DMARC records, or its mail may be marked as spam. On the domain page, the Email Security banner shows your status and a Set up button. The guided wizard auto-detects your email provider from existing MX records (Google Workspace, Microsoft 365, Fastmail, One.com, IONOS, Hetzner, and more), pre-selects the right SPF settings, and generates the correct TXT records with an explanation at each step. Finish the wizard, then Deploy the domain.
What settings do I put in my router?
The same settings work for free hostnames and DYNAMIC records on custom domains:
- Server / Service:
kyedns.com(choose "Custom" / "DynDNS compatible") - Hostname / Username: the full hostname (e.g.
myserver.dyndns.dk) - Password: that hostname's update token (on its detail page — not your account password)
- Protocol: DynDNS2
The hostname page also has a Router Setup guide with steps for ASUS, Fritz!Box, Synology, TP-Link, pfSense/OPNsense, DD-WRT/OpenWrt, and ddclient. Using the wrong password (account login instead of the update token) is the most common failure.
What's the direct update URL?
- DynDNS-compatible (HTTP Basic Auth):
https://kyedns.com/api/v1/nic/update?hostname=YOUR_HOSTNAME&myip=YOUR_IP - Simple (token in URL):
https://kyedns.com/api/v1/update?hostname=YOUR_HOSTNAME&token=YOUR_TOKEN
Omit myip to auto-detect your current public IP. Check your public IP any time at https://kyedns.com/ip.
What do the update response codes mean?
| Response | Meaning |
|---|---|
good 1.2.3.4 | IP successfully updated |
nochg 1.2.3.4 | IP unchanged (already set) |
badauth | Wrong username or update token |
nohost | Hostname not found |
notfqdn | Hostname isn't a valid full name |
abuse | Too many updates — you're being rate-limited |
911 | Temporary server error — retry later |
How often can I update?
A good client updates on IP change, not on a timer (polling every 5–10 minutes is plenty). Per hostname, per hour: over 20 updates start returning abuse; over 60 sends a warning email; over 180 disables the hostname. If you're hitting these, raise your client's update interval.
How do I set up IPv6 or dual-stack (IPv4 + IPv6)?
Send two separate updates — one with the IPv4 address, one with the IPv6 address. They're stored independently as the A and AAAA records, and sending one preserves the other. Most routers support two DDNS entries for the same hostname; with ddclient, add a second block using the usev6 option.
I made a change — how long until it's live?
- Custom domain: did you Deploy? Staged edits ("Changes Pending") aren't live until you push them.
- Nameservers: a custom domain only resolves through us once your registrar points its nameservers at ours — registrar changes take hours.
- TTL caching: resolvers cache the old value up to the record's TTL (default 1 hour). Lower the TTL before a planned change to speed up future ones.
- Free hostname: check Current IP and Last Update — if stale, your client isn't checking in.
How do I check propagation?
Domains → click the domain → Check Propagation. It queries multiple global resolvers and shows, per resolver, whether the value is Found, Stale, Not found, or timed out — and what each returns. Stale resolvers catch up as their cache TTL expires.
It loads on one device but not another.
That's usually an IPv4/IPv6 mismatch — e.g. an AAAA (IPv6) record pointing somewhere the visitor can't reach, or only an A record while the service is IPv6-only. Confirm both the A and AAAA values are correct for what's actually listening; clearing one forces clients onto the other.
My hostname isn't resolving. What's wrong?
- Disabled? A disabled hostname shows a red banner — click Re-enable if offered (see below).
- Stale IP? Check Current IP / Last Update. Stale means your client stopped checking in — reconfigure it.
- Private IP? If it resolves to
192.168.x.x,10.x.x.x, or172.16–31.x.x, your client is sending the LAN IP — switch it to external detection (web / checkip mode). - Custom domain? Confirm it's deployed and the registrar points at us, then allow for TTL caching.
My hostname was disabled for too many updates. How do I re-enable it?
First fix the client — raise its update interval so it doesn't update on a timer (re-enabling without this just gets it disabled again). Then click Re-enable on the hostname page and confirm.
Do free hostnames expire?
A free hostname is disabled after 180 days of inactivity (no IP updates). The page warns you within 30 days of expiry. To reactivate an expired hostname, just send any valid DDNS update — it re-enables automatically.
Can KyedNS tell me when one of my hosts goes down?
Yes. Click Fleet, pick a host (your free hostnames and DYNAMIC records appear in the dropdown), enter a TCP port to probe (e.g. 22, 80, 443), and click Start monitoring. We probe it every ~5 minutes and email you when it goes down and when it recovers. Each host shows a 24-check sparkline. Free accounts can monitor up to 4 hosts.
My IP changed and I got false “down” alerts. Why?
Monitoring automatically pauses when a host's dynamic IP goes stale, so you won't get false alerts while it's between addresses. It resumes on its own after the next valid DDNS update.
I'm not getting the login email. What should I do?
KyedNS uses magic links — there are no passwords. Check your spam or junk folder. The link expires after 1 hour; request a new one any time by entering your email on the login page. (Your hostname's update token is separate and never signs you in.)
I don't know which email I registered with. How do I find my account?
Try any address you might have used. If you have your router's DDNS config, go to /dyns/claim and enter the update token — it's tied to your zone and lets you claim it without knowing the email.
I had a hostname on the old dyndns.dk. Where did it go?
Zones from dyndns.dk were migrated automatically — log in with the same email you used there. If you don't remember it, use the claim flow at /dyns/claim with your old router's update token.
How do I change my name or email?
Top-right email menu → Account Settings → edit Name and/or Email → Save Changes. Changing the email needs verification: a confirmation link goes to the new address, and your current email stays active until you confirm.
Is there an API?
Yes — a read-only JSON API for your zones, custom domains, and DNS records. Find your API token under Account Settings and send it as an Authorization: Bearer YOUR_API_TOKEN header. Keep it secret — anyone with it can read your account (but it can't change anything). Common endpoints:
| Path | Returns |
|---|---|
/api/v1/me | Account snapshot — user, zones, domains |
/api/v1/zones | All free hostnames with IPs, state, last check-in |
/api/v1/domains | All custom domains with nameserver status |
/api/v1/domains/:id/records | A domain's active DNS records |
Full documentation is at /api. For automatic IP updates, use the DynDNS2 protocol described under Router & DDNS Client Setup.
Can I use international or non-Latin characters in names?
Yes. You can create and view domains, free hostnames, and DNS records in their native script — Danish ø/å/æ, German ä/ö/ü/ß, or any internationalized name. Type the readable form and it works; the dashboard shows the readable name and reveals the canonical xn-- (punycode) form on hover. If you see an xn--… string elsewhere, it's the same name in its DNS-encoded form.
Where's your privacy policy?
At kyedns.com/privacy (also linked in the footer). In plain terms it explains what personal data we hold, why, how long we keep it, who processes it on our behalf, and the rights you have under the EU GDPR.
What personal data do you collect?
- Account: your email address and the name you provide.
- Sign-in: we use magic-link login (no passwords) and store login timestamps and the IP address of your last sign-in.
- DNS & dynamic DNS: the domains, hostnames, and records you create — including the IP addresses your router or client submits, which is the whole point of dynamic DNS.
- Security: IP addresses and request details in our server logs, plus an audit trail of changes, used to keep the service secure and investigate abuse.
IP addresses count as personal data under the GDPR, which is why they're covered here.
Do you use tracking or advertising cookies?
No. We set a single essential cookie to keep you signed in. There are no advertising, analytics, or third-party tracking cookies — so there's no cookie-consent banner to click through.
How long do you keep my data?
- Account data: as long as your account exists, plus a short wind-down period.
- Audit records: up to 36 months, then deleted automatically.
- Activity records (zone and record changes): up to 12 months, then deleted automatically.
- Server logs: about 30 days.
Is my data kept in the EU?
Yes. All of our data processors — hosting, monitoring, and email delivery — operate within the EU, so your data is processed in the EU. They're named in our Privacy Policy.
Can I see, correct, or delete my data?
Yes. Under the GDPR you can ask to access, correct, export, restrict, or erase your personal data. Email michael@kyed.dk and we'll respond within one month. Erasure also reaches our audit and activity records. If you believe we've mishandled your data, you can lodge a complaint with the Danish Data Protection Agency (Datatilsynet).