# Set DNS with IONOS

Connect an IONOS API key once – the platform writes A and CNAME records into your zone.

> Source: https://www.application-platform.com/en/docs/dns-ionos/

If your domain lives at [IONOS](https://www.ionos.com/), you no longer have to copy records by hand. You store an API key under **Connections**; once a project has domains, the platform writes the records into the matching zone.

Manual DNS is still possible – see [Configure a DNS record]({{< relref "domain-how-to" >}}).

## API key in IONOS

1. In your IONOS account open the [Developer Hub](https://developer.hosting.ionos.com/docs/getstarted) and enable API access.
2. Under **API Keys**, create a new key.
3. Copy the **public prefix** and **secret**. In the platform you enter them as `prefix.secret` (joined with a dot).

This uses the **Hosting DNS API** (`api.hosting.ionos.com`), not IONOS Cloud.

## Connection in the platform

1. Open **Connections** and **Add connection**.
2. Under **DNS**, choose the **IONOS** tile.
3. Paste the API key and save. The platform checks whether the key is valid and which zones it can see.

Several IONOS connections in one organization are allowed. If a hostname matches more than one zone, the platform uses the most specific one (`shop.example.com` before `example.com`).

## What is written

The platform uses the same hosts you see under **Domains**.

- Records are only written when a real server address already exists.
- Existing records of the same type are updated; the whole zone is never replaced.
- Changes usually show up quickly.

```mermaid
flowchart LR
  org["IONOS connection"]
  domains["Domains in the platform"]
  zone["IONOS zone"]
  server["Your server"]
  org --> zone
  domains -->|"A / CNAME"| zone
  zone --> server
```

After you save a project, the platform tries to align missing or mismatched records. You can see the check status in the domain overview.

## Troubleshooting

- **Invalid key**: Check the `prefix.secret` format, enable API access in the IONOS account, and update the connection.
- **No record in IONOS**: The domain is not in a zone this key can see – check the account or zone name.
- **Status in the platform still red**: DNS often takes a few minutes, or the server does not have a known address yet.

## See also

- [Domain setup]({{< relref "domain" >}})
- [Configure a DNS record]({{< relref "domain-how-to" >}})
- [Connections]({{< relref "connections" >}})
- [Set DNS with Cloudflare]({{< relref "dns-cloudflare" >}})

