Skip to content

DnsServer

Defines a DNS server for automatic record management.

This object can be configured from the WebUI under Settings › Network › DNS › DNS Providers

DnsServer is a multi-variant object: each instance has an @type discriminator selecting one of the variants below, and each variant carries its own set of fields.

RFC2136 (TSIG)

Type: IpAddr · required

The IP address of the DNS server

Type: UnsignedInt · default: 53 · max: 65535 · min: 1

The port used to communicate with the DNS server

Type: String · required

The key used to authenticate with the DNS server

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: IpProtocol · default: "udp"

The protocol used to communicate with the DNS server

Type: TsigAlgorithm · default: "hmac-sha512"

The TSIG algorithm used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

RFC2136 (SIG0 - deprecated)

Cloudflare

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

DigitalOcean

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

DeSEC

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

OVH

Type: String · required

The application key used to authenticate with the OVH DNS server

Type: SecretKey · required

The application secret used to authenticate with the OVH DNS server

Type: SecretKey · required

The consumer key used to authenticate with the OVH DNS server

Type: OvhEndpoint · default: "ovh-eu"

Which OVH endpoint to use

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

BunnyDNS

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Porkbun

Type: String · required

The API key used to authenticate with Porkbun

Type: SecretKey · required

The secret API key used to authenticate with Porkbun

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

DNSimple

Type: SecretKey · required

The authentication token used to authenticate with DNSimple

Type: String · required

The account ID used to authenticate with DNSimple

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Spaceship

Type: String · required

The API key used to authenticate with Spaceship

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

AWS Route53

Type: String · required

The AWS access key ID

Type: SecretKey · required

The AWS secret access key

Type: SecretKeyOptional · required

Optional session token for temporary AWS credentials

Type: String · default: "us-east-1"

The AWS region

Type: String?

Hosted zone ID to use (resolved automatically by name if not set)

Type: Boolean · default: false

Whether to restrict zone resolution to private zones only

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Google Cloud DNS

Type: SecretText · required

Service account JSON credentials used to authenticate with Google Cloud

Type: String · required

The Google Cloud project ID that owns the managed zone

Type: String?

Managed zone name (resolved automatically by longest suffix match if not set)

Type: Boolean · default: false

Whether to restrict zone resolution to private zones only

Type: String?

Optional service account email to impersonate

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Alibaba Cloud DNS

Type: String · required

The Alibaba Cloud access key ID

Type: SecretKey · required

The Alibaba Cloud access key secret

Type: String?

Optional regional endpoint (defaults to the global endpoint)

Type: SecretKeyOptional · required

Optional STS security token for temporary credentials

Type: String?

Optional ISP line identifier (used for split-resolution accounts)

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

ArvanCloud

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

InterNetX AutoDNS

Type: String · required

AutoDNS account username

Type: SecretKey · required

AutoDNS account password

Type: UnsignedInt?

Optional account context identifier

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Microsoft Azure DNS

Type: String · required

Azure Active Directory tenant ID

Type: String · required

Application (client) ID

Type: SecretKey · required

Application client secret

Type: String · required

Azure subscription ID that owns the DNS zone

Type: String · required

Resource group that contains the DNS zone

Type: AzureEnvironment · default: "public"

Azure cloud environment

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Baidu Cloud DNS

Type: String · required

Baidu Cloud access key

Type: SecretKey · required

Baidu Cloud secret key

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

BlueCat Address Manager

Type: String · required

Base URL of the BlueCat Address Manager

Type: String · required

BlueCat account username

Type: SecretKey · required

BlueCat account password

Type: String · required

BlueCat configuration name

Type: String · required

BlueCat DNS view name

Type: Boolean · default: false

Skip deploying changes after applying them

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

ClouDNS

Type: String?

ClouDNS auth ID (use either auth-id or sub-auth-id)

Type: String?

ClouDNS sub-auth ID

Type: SecretKey · required

ClouDNS auth password

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Constellix

Type: String · required

Constellix API key

Type: SecretKey · required

Constellix secret key

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

cPanel

Type: String · required

Base URL of the cPanel server (e.g. https://host:2083)

Type: String · required

cPanel account username

Type: SecretKey · required

cPanel API token

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

DDNSS.de

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

DNS Made Easy

Type: String · required

DNS Made Easy API key

Type: SecretKey · required

DNS Made Easy API secret

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Domeneshop

Type: String · required

Domeneshop API token

Type: SecretKey · required

Domeneshop API secret

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Dreamhost

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

DuckDNS

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Dynu

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

EasyDNS

Type: String · required

EasyDNS token

Type: SecretKey · required

EasyDNS key

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Akamai EdgeDNS

Type: String · required

Akamai API host

Type: String · required

Akamai client token

Type: SecretKey · required

Akamai client secret

Type: SecretKey · required

Akamai access token

Type: String?

Optional account switch key for managing multiple accounts

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Exoscale

Type: String · required

Exoscale API key

Type: SecretKey · required

Exoscale API secret

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

freemyip.com

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Gandi LiveDNS v5

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Gcore

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

GleSYS

Type: String · required

GleSYS API user

Type: SecretKey · required

GleSYS API key

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

GoDaddy

Type: String · required

GoDaddy API key

Type: SecretKey · required

GoDaddy API secret

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Hetzner

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

hosting.de

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Hostinger

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Huawei Cloud DNS

Type: String · required

Huawei Cloud access key

Type: SecretKey · required

Huawei Cloud secret key

Type: String · default: "ap-southeast-1"

Huawei Cloud region

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Hurricane Electric

Type: HurricaneCredential[] · min items: 1

Per-zone Hurricane Electric DDNS keys

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

IBM Cloud

Type: String · required

IBM Cloud account username

Type: SecretKey · required

IBM Cloud API key

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Infoblox NIOS WAPI

Type: String · required

Infoblox grid master host

Type: String?

Optional port (defaults to 443)

Type: String · required

Infoblox account username

Type: SecretKey · required

Infoblox account password

Type: String?

WAPI version to use (defaults to 2.11)

Type: String?

DNS view name (defaults to External)

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Infomaniak

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

INWX

Type: String · required

INWX account username

Type: SecretKey · required

INWX account password

Type: SecretKeyOptional · required

Optional shared secret for TOTP-based two-factor authentication

Type: Boolean · default: false

Use the INWX sandbox API instead of production

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

IONOS

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

IPv64

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Joker

Type: JokerAuth · required

Joker authentication method

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

AWS Lightsail

Type: String · required

AWS access key ID

Type: SecretKey · required

AWS secret access key

Type: SecretKeyOptional · required

Optional session token for temporary AWS credentials

Type: String?

AWS region (defaults to us-east-1)

Type: String?

Optional Lightsail domain name to scope record operations to

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Linode

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

LuaDNS

Type: String · required

LuaDNS account email or username

Type: SecretKey · required

LuaDNS API token

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Mythic Beasts

Type: String · required

Mythic Beasts API key ID

Type: SecretKey · required

Mythic Beasts API key secret

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Namecheap

Type: String · required

Namecheap API user

Type: SecretKey · required

Namecheap API key

Type: String · required

Whitelisted client IP address registered with Namecheap

Type: String?

Optional account username (defaults to the API user)

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Name.com

Type: String · required

Name.com account username

Type: SecretKey · required

Name.com API token

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

NameSilo

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Netcup

Type: String · required

Netcup customer number

Type: String · required

Netcup API key

Type: SecretKey · required

Netcup API password

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Netlify

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Nifcloud

Type: String · required

Nifcloud access key

Type: SecretKey · required

Nifcloud secret key

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

NS1

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Oracle Cloud

Type: String · required

Tenancy OCID

Type: String · required

User OCID

Type: String · required

API signing key fingerprint

Type: SecretText · required

API signing private key in PEM format

Type: SecretKeyOptional · required

Optional passphrase for the private key

Type: String · required

OCI region (e.g. us-ashburn-1)

Type: String · required

Compartment OCID that owns the DNS zone

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Plesk

Type: String · required

Base URL of the Plesk server (e.g. https://host:8443)

Type: SecretKey · required

Plesk API key

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

ANS SafeDNS

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Scaleway

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Tencent Cloud DNSPod

Type: String · required

Tencent Cloud secret ID

Type: SecretKey · required

Tencent Cloud secret key

Type: String?

Optional regional endpoint

Type: SecretKeyOptional · required

Optional STS session token for temporary credentials

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

TransIP

Type: String · required

TransIP account login

Type: SecretText · required

TransIP private key in PEM format

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

UltraDNS

Type: String · required

UltraDNS account username

Type: SecretKey · required

UltraDNS account password

Type: String?

Optional REST API endpoint override

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Vercel

Type: SecretKey · required

Vercel auth token

Type: String?

Optional team ID to scope API requests to

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Volcano Engine

Type: String · required

Volcengine access key

Type: SecretKey · required

Volcengine secret key

Type: String?

Optional regional endpoint

Type: String?

Optional API host override

Type: String?

Optional URL scheme (http or https)

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Vultr

Type: SecretKey · required

The secret or token used to authenticate with the DNS server

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

WebSupport

Type: String · required

WebSupport API key

Type: SecretKey · required

WebSupport API secret

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

Yandex Cloud

Type: SecretText · required

Base64-encoded IAM service account key JSON

Type: String · required

Yandex Cloud folder ID that owns the DNS zone

Type: String · required

Short description of this DNS server

Type: Id<Tenant>?

Identifier for the tenant this DNS server belongs to

Type: Duration · default: "30s"

Request timeout for the DNS server

Type: Duration · default: "5m"

The TTL for new DNS record

Type: Duration · default: "15s"

How often to check for DNS records to propagate

Type: Duration · default: "1m"

How long to wait for DNS records to propagate

Type: Duration?

Initial delay before first propagation check (useful for slow providers)

The DnsServer object is available via the urn:stalwart:jmap capability.

This is a standard Foo/get method as defined in RFC 8620, Section 5.1.

This method requires the sysDnsServerGet permission.

Terminal window
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:DnsServer/get",
{
"ids": [
"id1"
]
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'

This is a standard Foo/set method as defined in RFC 8620, Section 5.3.

Supports create, update, and destroy operations in a single call.

This operation requires the sysDnsServerCreate permission.

Terminal window
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:DnsServer/set",
{
"create": {
"new1": {
"@type": "Tsig",
"description": "Example",
"host": "192.0.2.1",
"key": {
"@type": "Value",
"secret": "Example"
},
"keyName": "Example"
}
}
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'

This operation requires the sysDnsServerUpdate permission.

Terminal window
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:DnsServer/set",
{
"update": {
"id1": {
"keyName": "updated value"
}
}
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'

This operation requires the sysDnsServerDestroy permission.

Terminal window
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:DnsServer/set",
{
"destroy": [
"id1"
]
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'

This is a standard Foo/query method as defined in RFC 8620, Section 5.5.

This method requires the sysDnsServerQuery permission.

Terminal window
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:DnsServer/query",
{
"filter": {
"memberTenantId": "id1"
}
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'

The x:DnsServer/query filter argument accepts the following conditions (combinable with AnyOf / AllOf / Not per RFC 8620):

ConditionKind
memberTenantIdid of Tenant

stalwart-cli wraps the same JMAP calls. See the CLI reference for installation, authentication, and general usage.

Terminal window
stalwart-cli get DnsServer id1
Terminal window
stalwart-cli create DnsServer/Tsig \
--field host=192.0.2.1 \
--field keyName=Example \
--field 'key={"@type":"Value","secret":"Example"}' \
--field description=Example
Terminal window
stalwart-cli query DnsServer
stalwart-cli query DnsServer --where memberTenantId=id1
Terminal window
stalwart-cli update DnsServer id1 --field keyName='updated value'
Terminal window
stalwart-cli delete DnsServer --ids id1

A secret value provided directly, from an environment variable, or from a file.

A secret value provided directly.

Type: String · required · secret

Password or secret value

A secret value read from an environment variable.

Type: String · required

Environment variable name to read the secret from

A secret value read from a file.

Type: String · required

File path to read the secret from

An optional secret value, or none.

  • None: No secret. No additional fields.
  • Value: Secret value. Carries the fields of SecretKeyValue.
  • EnvironmentVariable: Secret read from environment variable. Carries the fields of SecretKeyEnvironmentVariable.
  • File: Secret read from file. Carries the fields of SecretKeyFile.

A secret text value provided directly, from an environment variable, or from a file.

A secret text value provided directly.

Type: Text · required · secret

Password or secret value

Hurricane Electric per-zone DDNS credential.

Type: DomainName · required

DNS zone (origin) the credential applies to

Type: SecretKey · required

DDNS key for the zone

Joker DMAPI authentication credentials.

Joker API key authentication.

Type: SecretKey · required

Joker DMAPI API key

Joker username/password authentication.

Type: String · required

Joker DMAPI account username

Type: SecretKey · required

Joker DMAPI account password

ValueLabel
udpUDP
tcpTCP
ValueLabel
hmac-md5HMAC-MD5
gssGSS
hmac-sha1HMAC-SHA1
hmac-sha224HMAC-SHA224
hmac-sha256HMAC-SHA256
hmac-sha256-128HMAC-SHA256-128
hmac-sha384HMAC-SHA384
hmac-sha384-192HMAC-SHA384-192
hmac-sha512HMAC-SHA512
hmac-sha512-256HMAC-SHA512-256
ValueLabel
ovh-euOVH EU
ovh-caOVH CA
kimsufi-euKimsufi EU
kimsufi-caKimsufi CA
soyoustart-euSoyoustart EU
soyoustart-caSoyoustart CA
ValueLabel
publicPublic
chinaChina
us-governmentUS Government