CustomDomain™ docs
API referenceManaged DNS

Import a zone file or add records to the managed zone

POST
/connections/{id}/managed-dns/records

Send exactly one of zone_file (a BIND zone file, at most 256 KB) or records (at most 500). Records from a zone file are imported: for every name and type the file defines, they replace what discovery found. Listed records are manual and are added alongside what is there. Records CustomDomain™ needs for the connection always win: an imported record that collides with one is skipped with a note, and a listed one is refused with 409. Zone file lines that can't be hosted (SOA, the zone's own NS set, unsupported types, names outside the zone) are skipped, each with a warning naming its line. A zone holds at most 500 records.

Once the zone is active, only an API key or an app-scoped widget token may change it; an end user's connect-scoped token may change the zone only during setup.

AuthorizationBearer <token>

Long-lived tenant API key, cd_live_… (production) or cd_test_… (staging, development), stored hashed. Keys created before the switch to cd_ start with sk_live_… / sk_test_… and are still accepted. Scoped to the owning application's tenant.

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Exactly one of zone_file or records.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/connections/string/managed-dns/records" \  -H "Content-Type: application/json" \  -d '{}'
{  "zone": "acme.com",  "status": "awaiting_delegation",  "nameservers": [    "string"  ],  "observed_nameservers": [    "string"  ],  "registrar": {    "name": "string",    "url": "string"  },  "records": [    {      "id": "mdr_1f3a9c0b7d2e5a4c6b8d",      "type": "A",      "name": "string",      "value": "string",      "ttl": 0,      "priority": 0,      "source": "discovered"    }  ],  "warnings": [    "string"  ],  "checked_at": "2019-08-24T14:15:22Z",  "activated_at": "2019-08-24T14:15:22Z"}
{  "code": "string",  "title": "string",  "details": "string"}
{  "code": "string",  "title": "string",  "details": "string"}
{  "code": "string",  "title": "string",  "details": "string"}
{  "code": "string",  "title": "string",  "details": "string"}
{  "code": "string",  "title": "string",  "details": "string"}
{  "code": "string",  "title": "string",  "details": "string"}
{  "code": "string",  "title": "string",  "details": "string"}
{  "code": "string",  "title": "string",  "details": "string"}