Skip to main content

DNS

Manage DNS providers, managed domains, and per-resource hostname state. All endpoints require authentication and the DNS_PROVIDER_MANAGEMENT feature to be enabled.

Pro endpoints return HTTP 402 when the corresponding Pro child feature is disabled.

List DNS Providers​

GET /api/v1/dns-providers

Returns all DNS providers for the current team. Credentials are masked in responses.

Create DNS Provider​

POST /api/v1/dns-providers

Body:

{
"name": "Production Cloudflare",
"type": "cloudflare_tunnel",
"credentials": {
"api_token": "your-token"
}
}

Free tier allows one provider. Additional providers require DNS_MULTI_DOMAIN (Pro).

Test Provider Connection​

POST /api/v1/dns-providers/{uuid}/test

Validates credentials and returns connection status.

List Managed Domains​

GET /api/v1/domains

Create Domain​

POST /api/v1/domains

Body:

{
"name": "example.com",
"dns_provider_uuid": "provider-uuid",
"routing_mode": "wildcard"
}

Sync Domain​

POST /api/v1/domains/{uuid}/sync

Triggers tunnel provisioning and wildcard routing setup.

Resource DNS Status​

GET /api/v1/dns/resource/{type}/{uuid}

type is application or service. Returns managed hostnames and sync state for the resource.

Re-sync Resource DNS​

POST /api/v1/dns/resource/{type}/{uuid}/resync

Dispatches a DNS reconcile job for the resource.

Assign Domain (Pro)​

POST /api/v1/dns/resource/{type}/{uuid}/assign-domain

Pin or unpin a hostname to a specific domain. Requires DNS_MULTI_DOMAIN.

Environment Bindings (Pro)​

GET /api/v1/domains/{uuid}/environment-bindings
POST /api/v1/domains/{uuid}/environment-bindings
DELETE /api/v1/domains/{uuid}/environment-bindings/{bindingId}

Map environments or environment roles to domains. Requires DNS_ENV_BINDINGS.