Managed DNS

Import a zone file or add records to the managed zone

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.

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

Request

  • Base URL: https://api.customdomain.ai/v1
  • URL: https://api.customdomain.ai/v1/connections/{id}/managed-dns/records
  • Auth: one of:
    • HTTP bearer
    • HTTP bearer

Path parameters

idstring required

Request body

zone_filestring

A BIND zone file (RFC 1035 master format).

Response

The zone after the change.

zonestring required

The hosted zone: the registrable domain.

status'awaiting_delegation' | 'active' | 'failed' required

awaiting_delegation: the zone holds the records; set the nameservers below at the registrar. active: every nameserver the registry lists is ours. failed: the switch never happened within 14 days, or the nameservers moved away again (the first warning says which); a failed zone keeps being checked and turns active once the delegation appears.

nameserversstring[] required

The nameservers to set at the registrar.

observed_nameserversstring[] required

The nameservers the registry listed at the last check.

warningsstring[] required

Plain-language notes for the user (a partial delegation, records a zone file import skipped, records replaced).

checked_atstring date-time required

When the delegation was last checked.

activated_atstring date-time nullable required

Example response

{
  "zone": "acme.com",
  "records": [
    {
      "id": "mdr_1f3a9c0b7d2e5a4c6b8d"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.