Records
Read and change a domain’s DNS records.
/domains/{domain}/recordsFilters match exactly, and each may appear once. A pending or moved domain lists no records. TXT values can come back in quotes, and a long one split into several quoted strings; content matches the value as listed.
Authorization
apiKey An API key (d3_k_…) from the dashboard’s API keys page.
In: header
Path Parameters
The domain’s name, such as example.com.
Query Parameters
Exact name: www, @ or www.example.com.
Exact type, such as TXT.
Exact value, as the list shows it.
1 <= length <= 4096Page number, from 1.
1 <= value1Items per page, 1 to 1000; a value outside that range is clamped.
100Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/domains/example.com/records"{ "data": [ { "id": "372e67954025e0ba6aaa6d586b9e0b59", "domain": "example.com", "name": "www.example.com", "type": "A", "content": "192.0.2.10", "priority": 0, "ttl": "auto", "proxied": true, "comment": null, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } ], "page": 0, "per_page": 0, "total_count": 0, "total_pages": 0}/domains/{domain}/recordsReturns 201 with the new record. You can create A, AAAA, CNAME, TXT, MX and NS records; other types, such as SRV and CAA, can be listed and deleted.
TXT: send the text exactly as the service that asked for it gave it to you, such as a certificate authority, without quotes. A value with and without quotes is the same record, so the second create is 409 record_exists.
Proxied records send their name’s traffic through DNA, which checks each request before it reaches your server. Only A, AAAA and CNAME records can be proxied, and not on a name with a label starting _, such as _dmarc, or a name your MX records point to. A proxied record’s TTL is always auto.
Authorization
apiKey An API key (d3_k_…) from the dashboard’s API keys page.
In: header
Path Parameters
The domain’s name, such as example.com.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/domains/example.com/records" \ -H "Content-Type: application/json" \ -d '{ "type": "A", "name": "www", "content": "192.0.2.10", "proxied": true }'{ "id": "372e67954025e0ba6aaa6d586b9e0b59", "domain": "example.com", "name": "www.example.com", "type": "A", "content": "192.0.2.10", "priority": 0, "ttl": "auto", "proxied": true, "comment": null, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z"}/domains/{domain}/records/{record_id}Authorization
apiKey An API key (d3_k_…) from the dashboard’s API keys page.
In: header
Path Parameters
The domain’s name, such as example.com.
^[0-9a-f]{32}$Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/domains/example.com/records/372e67954025e0ba6aaa6d586b9e0b59"{ "id": "372e67954025e0ba6aaa6d586b9e0b59", "domain": "example.com", "name": "www.example.com", "type": "A", "content": "192.0.2.10", "priority": 0, "ttl": "auto", "proxied": true, "comment": null, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z"}/domains/{domain}/records/{record_id}Send only the fields to change. The response is the record as saved. A record’s type can’t change: delete it and create a new one.
Authorization
apiKey An API key (d3_k_…) from the dashboard’s API keys page.
In: header
Path Parameters
The domain’s name, such as example.com.
^[0-9a-f]{32}$Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/domains/example.com/records/372e67954025e0ba6aaa6d586b9e0b59" \ -H "Content-Type: application/json" \ -d '{ "content": "192.0.2.20" }'{ "id": "372e67954025e0ba6aaa6d586b9e0b59", "domain": "example.com", "name": "www.example.com", "type": "A", "content": "192.0.2.10", "priority": 0, "ttl": "auto", "proxied": true, "comment": null, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z"}/domains/{domain}/records/{record_id}Returns { "id": "…", "deleted": true }.
Authorization
apiKey An API key (d3_k_…) from the dashboard’s API keys page.
In: header
Path Parameters
The domain’s name, such as example.com.
^[0-9a-f]{32}$Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/domains/example.com/records/372e67954025e0ba6aaa6d586b9e0b59"{ "id": "string", "deleted": true}