# Edit DNS records

> Add, change and delete the DNS records of a domain that uses our nameservers, and what the editor checks for you.

Source: https://veldhost.eu/docs/dns-record-editor

Last verified: 2026-11-13

When your domain uses our nameservers, its records live in the portal and you edit them there. A change is live on our nameservers in a moment. Resolvers elsewhere may keep the old answer until its TTL runs out.

New to record types? Read [DNS records, explained simply](https://veldhost.eu/docs/dns-records-explained) first. This page is about working in the editor.

## Before you start

- Everyone on the account can see the records. Adding, changing or deleting them takes the **Owner**, **Administrator** or **Developer** role. See [roles and permissions](https://veldhost.eu/docs/roles-and-permissions).
- The domain's DNS must be hosted here. If it is not yet, see [Move your DNS to veldhost](https://veldhost.eu/docs/move-your-dns-to-veldhost).

## Open the records

Open [Domains](https://manage.veldhost.eu/portal/domains), choose your domain, then the **DNS records** tab.

The strip at the top shows where the domain's **Nameservers** point, its **DNSSEC** state, how many **Records** it has, and the **Last change**. Below that is the table. To find a record, type in **Filter by name or value**, choose a type chip (such as **MX**) to show only that type, or select a column heading to sort by it.

Names are relative to your domain: `@` is the domain itself and `www` is `www.YOUR_DOMAIN`. Hover a name to see it in full. The SOA record, the domain's own NS records and the DNSSEC records are managed by us, so they are not shown.

## Add a record

1. Choose **+ Add record**. An empty row opens at the top of the table.
2. Pick the **Type**: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA and PTR. The hint under the row explains what that type's value looks like.
3. Enter the **Name**: `@`, a label such as `www`, or `*` for a wildcard. A full name such as `www.YOUR_DOMAIN` is shortened for you.
4. Enter the **Value** and choose a **TTL** (**5 min**, **1 hour**, **4 hours** or **1 day**).
5. Choose **Add**.

You see **Record added — live in a moment.**, and the new row is highlighted.

## Change a record

1. Open the row's menu and choose **Edit**.
2. Change the name, value, type or TTL, then choose **Save**. **Cancel** leaves the record as it was.

You see **Record updated — live in a moment.** The row menu also has **Copy full name**, and the copy icon next to a value copies the value.

> **Caution:** **Delete** takes effect straight away. Deleting an MX or SPF record can stop your email, and deleting the `@` or `www` record can take your website offline. You can put it back under [History](https://veldhost.eu/docs/dns-change-history).

To delete, open the row's menu, choose **Delete**, then **Delete record** in the dialog.

Records your website or email depend on have a **website** or **email** label. Before you save a change to one of them, or delete it, the portal tells you what depends on it and asks you to confirm.

## What the editor checks

The editor refuses a record that would break the zone, and tells you why on the row itself. What you typed stays in the row so you can fix it:

- **That exact record already exists.** The same name, type and value cannot be added twice.
- **A CNAME must be the only record at its name.** You cannot add a CNAME next to other records with the same name, or add other records to a name that is a CNAME.
- **The domain itself (@) cannot be a CNAME.** It would hide the domain's other records, email included. Use an A record at `@`, or put the CNAME on `www`.
- **Only one SPF record per name.** Two `v=spf1` TXT records make SPF fail for every message. Edit the existing one and add to it.
- **Names, not addresses.** A CNAME, NS or PTR record points at a name, and an MX record names a mail server. Enter an IP address there and the editor asks you to use an A (or AAAA) record for it instead.
- **No line breaks or control characters** in any value.

It also fixes two common slips for you. A hostname value without its final dot is taken as the full name you meant (`ghs.google.com` becomes `ghs.google.com.`). A single label such as `mail` means a name inside your zone (`mail.YOUR_DOMAIN.`). TXT values get their quotes added for you.

Some values have a set format. If yours does not match, the editor shows an example:

- MX: priority, then the mail server's name: `10 mail.example.com.`
- SRV: priority, weight, port, then the target: `10 60 5060 sip.example.com.`
- CAA: flag, tag and a quoted value: `0 issue "letsencrypt.org"`

## With the API or an AI assistant

The API and the MCP tools apply the same checks as the editor. A token needs the `dns` scope to write. `GET /api/v1/dns/{zone}/records` lists the records with their ids. `POST` on the same path adds one, and `PUT` and `DELETE` on `/api/v1/dns/{zone}/records/{record}` update and delete one; see [all endpoints](https://veldhost.eu/docs/api-endpoints). The API takes any TTL from 60 to 604800 seconds. Changes made this way show up in History marked **via the API**.

## Related

- [Undo a DNS change](https://veldhost.eu/docs/dns-change-history)
- [Import and export a zone file](https://veldhost.eu/docs/dns-zone-files)
- [DNS records, explained simply](https://veldhost.eu/docs/dns-records-explained)
- [DNSSEC](https://veldhost.eu/docs/dnssec)