DNS Management
DNS Management
Manage zones & records. Base: /api/v1/dns Β·
Auth: Authorization: Bearer wsp_β¦
Error envelope:
{ "success": false, "code": "NOT_FOUND", "error": "record not found", "message": "β¦", "status": 404 }
Get zone β GET /api/v1/dns/:domain
Response 200 (verified live):
{ "domain": "example.com", "username": "", "serial": 2026051104,
"refresh": 3600, "retry": 1800, "expire": 604800,
"min_ttl": 3600, "ns1": "", "ns2": "", "admin_email": "",
"records": [
{ "type": "A", "name": "@", "value": "161.248.4.182",
"ttl": 3600, "priority": 0, "weight": 0, "port": 0 } ] }
Records β /api/v1/dns/:domain/records
GET /api/v1/dns/:domain/records β array of record objects.
POST /api/v1/dns/:domain/records Request:
{ "type": "A", "name": "www", "value": "203.0.113.10", "ttl": 3600 }
Response 201 (verified live):
{ "success": true, "message": "DNS record added",
"record": { "type": "A", "name": "www", "value": "203.0.113.10",
"ttl": 3600, "priority": 0, "weight": 0, "port": 0 } }
PUT /dns/:domain/records updates a record. DELETE /dns/:domain/records Request: { "type": "A", "name": "www", "value": "203.0.113.10" } β 200 (verified live):
{ "success": true, "message": "DNS record deleted" }
POST /dns/:domain/reset (no body) rebuilds the default zone.
Email / CAA / TLSA / templates
POST /dns/:domain/email-records (SPF/DKIM/MX).
CAA GET/POST /dns/:domain/caa { "flag": 0, "tag": "issue", "value": "letsencrypt.org" }; TLSA GET/POST /dns/:domain/tlsa.
Templates: GET /dns/templates β { "success": true, "templates": [ { "id": "basic", "name": "Basic Website" } ] };
POST /dns/:domain/apply-template { "template_id": "basic" }.
Conventions β Authentication, Error Handling.