Quickstart
You need a domain you own (e.g. example.com) and an Excloud API token. Get a token with exc apikey create or from the
console.
export TOKEN=eyJhbGciOi...1. Create the zone
curl -sS -X POST https://dns.excloud.in/dns/zone/create \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "example.com"}'The response includes four nameservers (ns1.excloud.in etc.). Copy them.
2. Delegate at your registrar
In your registrar’s control panel (GoDaddy, Cloudflare, Namecheap, …), set the nameservers for the domain to the four values from step 1. Propagation typically completes within an hour but can take up to 48.
Sanity check:
dig +short NS example.comWhen that returns the Excloud nameservers, you’re delegated.
3. Add an A record
curl -sS -X POST https://dns.excloud.in/dns/record/create \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"zone_name": "example.com",
"type": "A",
"name": "api",
"ttl": 300,
"records": ["203.0.113.10"]
}'Verify:
dig +short api.example.com4. (Optional) The same in Terraform
resource "excloud_dns_zone" "example" {
name = "example.com"
}
resource "excloud_dns_record" "api" {
zone_name = excloud_dns_zone.example.name
type = "A"
name = "api"
ttl = 300
records = ["203.0.113.10"]
}
output "nameservers" {
value = excloud_dns_zone.example.nameservers
}terraform apply, then set the output nameservers at your registrar.
Next
- Zones — deletion, listing, delegation gotchas.
- Records — every record type and its payload shape.
Prev
QuickstartNext
Zones