Docs / Delivery
DNS
Ollanode runs an authoritative DNS server (Hickory) on :53 that answers straight from Postgres. These endpoints are the write path; changes propagate to the in-memory authorities in about 15 seconds.
authoritativeA/AAAA/CNAME/TXT/MX/NSUDP + TCP :53
Zones
POST
/v1/dns/zones dns:write Create a DNS zone. name must be a valid domain. Agent keys are approval-gated.
curl
curl -X POST https://api.ollanode.com/v1/dns/zones \
-H "Authorization: Bearer $OLLANODE_API_KEY" \
-H "Content-Type: application/json" -d '{"name":"example.com"}' Response
{ "id":"dnsz_...", "name":"example.com", "created_at":"..." } GET
/v1/dns/zones dns:read List DNS zones (paginated).
DELETE
/v1/dns/zones/{id} dns:delete Delete a zone (and its records). Agent keys are approval-gated.
Records
POST
/v1/dns/zones/{id}/records dns:write Add a record. rtype ∈ A/AAAA/CNAME/TXT/MX/NS; ttl defaults to 300; priority is for MX. Agent keys are approval-gated.
curl
# A record
curl -X POST https://api.ollanode.com/v1/dns/zones/dnsz_abc/records \
-H "Authorization: Bearer $OLLANODE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"www","rtype":"A","value":"203.0.113.10","ttl":300}'
# MX record (priority)
curl -X POST https://api.ollanode.com/v1/dns/zones/dnsz_abc/records \
-H "Authorization: Bearer $OLLANODE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"@","rtype":"MX","value":"mail.example.com","priority":10,"ttl":3600}' Response
{ "id":"dnsr_...", "name":"www", "rtype":"A", "value":"203.0.113.10", "ttl":300, "priority":null } GET
/v1/dns/zones/{id}/records dns:read List every record in the zone (plain array, not paginated).
DELETE
/v1/dns/zones/{id}/records/{rid} dns:delete Delete a record. Agent keys are approval-gated.
Use cases: manage authoritative DNS for a customer domain alongside its CDN zones; script bulk record provisioning during onboarding.