DNS ยท Zones & Records
Authoritative DNS that answers for your zone directly.
Creating a zone takes one API call. The response includes the four nameservers to set at your registrar โ after that, Excloud handles every query for the zone.
$ curl -sS -X POST https://dns.excloud.in/dns/zone/create \ -H "Authorization: Bearer $TOKEN" \ -d '{"name": "example.com"}' { "id": "z-1234", "nameservers": [ "ns1.excloud.in", "ns2.excloud.in", "ns3.excloud.in", "ns4.excloud.in" ] }
Record types
All the record types you need, using the same payload shape.
Each create, update, and delete carries a type field the API uses to interpret the rest of the payload. The composite record ID is <zone>:<type>:<name> โ the same identifier update and delete expect.
| Type | What it does |
|---|---|
| A / AAAA | Map a name to an IPv4 or IPv6 address |
| CNAME | Alias to another name |
| TXT | SPF, DKIM, DMARC, ACME challenges |
| MX | Mail exchanger, lower priority wins |
| NS | Delegate a sub-zone to other nameservers |
| SRV | Service records โ priority, weight, port, target |
| CAA | Certificate authority authorisation |
| PTR | Reverse mapping |
| Weighted A / AAAA / CNAME | Same as the base type, with per-target weights for round-robin |
SOA is managed for you. TTLs aren't enforced, but 300โ3600 is normal, 60โ120 right before flipping a record, and 3600+ for SPF/DKIM/CAA.
Delegation
Set all four nameservers at your registrar, not just two.
Most registrars allow partial delegation. Don't use it โ set all four nameservers for redundancy. The first delegation can take up to 48 hours, bounded by the TTL your registrar puts on the parent NS record; later record changes propagate at the speed of your own zone's TTLs.
- Don't host the parent NS records inside the zone you're delegating โ Excloud handles the glue
- Deleting a zone deletes every record in it and stops answering immediately
- A CNAME can't coexist with any other record at the same name, and never goes at the zone apex
$ dig +short NS example.com ns1.excloud.in. ns2.excloud.in. ns3.excloud.in. ns4.excloud.in. $ curl -sS -X POST https://dns.excloud.in/dns/record/create \ -H "Authorization: Bearer $TOKEN" \ -d '{"zone_name":"example.com","type":"A", "name":"api","ttl":300,"records":["203.0.113.10"]}' $ dig +short api.example.com 203.0.113.10
Get started
Your first record is live before you close the terminal.
Create the zone, point your registrar at the four nameservers, and push an A record. Run dig and you're done.