# Settings: Get DNS Settings
## Endpoint
`/api/settings/get`
**Obsolete Path:** `/api/getDnsSettings`
## Method
GET
## Description
Returns all DNS server settings including server configuration, web service settings, DNS protocol settings, resolver settings, cache settings, blocking settings, proxy settings, forwarder settings, and logging settings.
## Authentication
Required. Token must have **Settings: View** permission.
## Parameters
| `token` | string | Yes | No | Session token from `login` or `createToken`. |
## Response Fields
| `version` | string | DNS server version. |
| `uptimestamp` | string | Server uptime start timestamp (ISO 8601). |
| `dnsServerDomain` | string | Primary domain name of the DNS server. |
| `dnsServerLocalEndPoints` | string[] | Network interface IP:port pairs the DNS server listens on. |
| `dnsServerIPv4SourceAddresses` | string[] | IPv4 source addresses for outbound DNS requests. |
| `dnsServerIPv6SourceAddresses` | string[] | IPv6 source addresses for outbound DNS requests. |
| `defaultRecordTtl` | integer | Default TTL for new records. |
| `defaultNsRecordTtl` | integer | Default TTL for NS records in primary zones. |
| `defaultSoaRecordTtl` | integer | Default TTL for SOA records in primary zones. |
| `defaultResponsiblePerson` | string/null | Default SOA responsible person email. |
| `useSoaSerialDateScheme` | bool | Whether to use date-based SOA serial scheme. |
| `minSoaRefresh` | integer | Minimum SOA Refresh interval (seconds). |
| `minSoaRetry` | integer | Minimum SOA Retry interval (seconds). |
| `zoneTransferAllowedNetworks` | string[] | IPs/networks allowed zone transfers without TSIG. |
| `notifyAllowedNetworks` | string[] | IPs/networks allowed to notify secondary zones. |
| `dnsAppsEnableAutomaticUpdate` | bool | Whether DNS apps auto-update from the app store. |
| `preferIPv6` | bool | Whether to prefer IPv6 for queries. |
| `enableUdpSocketPool` | bool | Whether UDP socket pool is enabled. |
| `socketPoolExcludedPorts` | integer[] | Ports excluded from the UDP socket pool. |
| `udpPayloadSize` | integer | Maximum EDNS UDP payload size (512-4096). |
| `dnssecValidation` | bool | Whether DNSSEC validation is enabled. |
| `eDnsClientSubnet` | bool | Whether EDNS Client Subnet is enabled. |
| `eDnsClientSubnetIPv4PrefixLength` | integer | ECS IPv4 prefix length. |
| `eDnsClientSubnetIPv6PrefixLength` | integer | ECS IPv6 prefix length. |
| `eDnsClientSubnetIpv4Override` | string/null | IPv4 override for ECS. |
| `eDnsClientSubnetIpv6Override` | string/null | IPv6 override for ECS. |
| `qpmPrefixLimitsIPv4` | array | IPv4 QPM limits. Each entry has `prefix`, `udpLimit`, `tcpLimit`. |
| `qpmPrefixLimitsIPv6` | array | IPv6 QPM limits. Each entry has `prefix`, `udpLimit`, `tcpLimit`. |
| `qpmLimitSampleMinutes` | integer | QPM limit sample size in minutes. |
| `qpmLimitUdpTruncationPercentage` | integer | Percentage of UDP requests truncated when QPM exceeded (0-100). |
| `qpmLimitBypassList` | string[] | IPs/networks that bypass QPM limits. |
| `clientTimeout` | integer | Timeout (ms) before ServerFailure response to clients. |
| `tcpSendTimeout` | integer | TCP send timeout (ms). |
| `tcpReceiveTimeout` | integer | TCP receive timeout (ms). |
| `quicIdleTimeout` | integer | QUIC idle connection timeout (ms). |
| `quicMaxInboundStreams` | integer | Max inbound bidirectional QUIC streams per connection. |
| `listenBacklog` | integer | Max pending inbound connections. |
| `maxConcurrentResolutionsPerCore` | integer | Max concurrent async outbound resolutions per CPU core. |
| `webServiceLocalAddresses` | string[] | Web service listen addresses. |
| `webServiceHttpPort` | integer | Web service HTTP port. |
| `webServiceEnableTls` | bool | Whether HTTPS is enabled for web service. |
| `webServiceEnableHttp3` | bool | Whether HTTP/3 is enabled for web service. |
| `webServiceHttpToTlsRedirect` | bool | Whether HTTP to HTTPS redirect is enabled. |
| `webServiceUseSelfSignedTlsCertificate` | bool | Whether to use auto-generated self-signed cert. |
| `webServiceTlsPort` | integer | Web service HTTPS port. |
| `webServiceTlsCertificatePath` | string/null | Path to web service TLS certificate (.pfx). |
| `webServiceTlsCertificatePassword` | string | Masked certificate password. |
| `webServiceRealIpHeader` | string | HTTP header for client real IP from reverse proxy. |
| `enableDnsOverUdpProxy` | bool | Whether DNS-over-UDP-PROXY is enabled. |
| `enableDnsOverTcpProxy` | bool | Whether DNS-over-TCP-PROXY is enabled. |
| `enableDnsOverHttp` | bool | Whether DNS-over-HTTP is enabled. |
| `enableDnsOverTls` | bool | Whether DNS-over-TLS is enabled. |
| `enableDnsOverHttps` | bool | Whether DNS-over-HTTPS is enabled. |
| `enableDnsOverHttp3` | bool | Whether DNS-over-HTTP/3 is enabled. |
| `enableDnsOverQuic` | bool | Whether DNS-over-QUIC is enabled. |
| `dnsOverUdpProxyPort` | integer | DNS-over-UDP-PROXY port. |
| `dnsOverTcpProxyPort` | integer | DNS-over-TCP-PROXY port. |
| `dnsOverHttpPort` | integer | DNS-over-HTTP port. |
| `dnsOverTlsPort` | integer | DNS-over-TLS port. |
| `dnsOverHttpsPort` | integer | DNS-over-HTTPS port. |
| `dnsOverQuicPort` | integer | DNS-over-QUIC port. |
| `reverseProxyNetworkACL` | string[] | ACL for reverse proxy access. |
| `dnsTlsCertificatePath` | string/null | Path to DNS TLS certificate (.pfx). |
| `dnsTlsCertificatePassword` | string | Masked DNS TLS certificate password. |
| `dnsOverHttpRealIpHeader` | string | HTTP header for client real IP for DNS-over-HTTP. |
| `tsigKeys` | array | TSIG keys. Each entry has `keyName`, `sharedSecret`, `algorithmName`. |
| `recursion` | string | Recursion policy. |
| `recursionNetworkACL` | string[] | ACL for recursion when policy is `UseSpecifiedNetworkACL`. |
| `randomizeName` | bool | Whether QNAME randomization is enabled. |
| `qnameMinimization` | bool | Whether QNAME minimization is enabled. |
| `resolverRetries` | integer | Recursive resolver retry count. |
| `resolverTimeout` | integer | Recursive resolver timeout (ms). |
| `resolverConcurrency` | integer | Recursive resolver concurrent request count. |
| `resolverMaxStackCount` | integer | Recursive resolver max stack count. |
| `saveCache` | bool | Whether DNS cache is saved to disk on stop. |
| `serveStale` | bool | Whether serve stale feature is enabled. |
| `serveStaleTtl` | integer | TTL (seconds) for expired/stale cached records. |
| `serveStaleAnswerTtl` | integer | TTL (seconds) for records in stale responses. |
| `serveStaleResetTtl` | integer | TTL (seconds) to reset stale record TTL on refresh failure. |
| `serveStaleMaxWaitTime` | integer | Max wait time (ms) before serving stale records. |
| `cacheMaximumEntries` | integer | Maximum cache entries. |
| `cacheMinimumRecordTtl` | integer | Minimum record TTL in cache. |
| `cacheMaximumRecordTtl` | integer | Maximum record TTL in cache. |
| `cacheNegativeRecordTtl` | integer | Negative record TTL when no SOA MINIMUM available. |
| `cacheFailureRecordTtl` | integer | Failure response cache TTL. |
| `cachePrefetchEligibility` | integer | Minimum initial TTL for prefetch eligibility. |
| `cachePrefetchTrigger` | integer | TTL threshold to trigger immediate prefetch. |
| `cachePrefetchSampleIntervalInMinutes` | integer | Auto-prefetch sampling interval (minutes). |
| `cachePrefetchSampleEligibilityHitsPerHour` | integer | Minimum hits/hour for auto-prefetch eligibility. |
| `enableBlocking` | bool | Whether domain blocking is enabled. |
| `allowTxtBlockingReport` | bool | Whether TXT blocking reports are enabled. |
| `blockingBypassList` | string[] | IPs/networks that bypass blocking. |
| `blockingType` | string | How blocked domains are responded to. |
| `blockingAnswerTtl` | integer | TTL for blocking responses. |
| `customBlockingAddresses` | string[] | Custom IPs returned for blocked domains. |
| `blockListUrls` | string[] | Block list download URLs. |
| `blockListUpdateIntervalHours` | integer | Block list update interval (hours). |
| `blockListNextUpdatedOn` | string | Next scheduled block list update (ISO 8601). |
| `proxy` | object/null | Proxy configuration (null if no proxy). |
| `forwarders` | string[]/null | Configured forwarder addresses (null if none). |
| `forwarderProtocol` | string | Forwarder DNS transport protocol. |
| `concurrentForwarding` | bool | Whether concurrent forwarding is enabled. |
| `forwarderRetries` | integer | Forwarder retry count. |
| `forwarderTimeout` | integer | Forwarder timeout (ms). |
| `forwarderConcurrency` | integer | Forwarder concurrent request count. |
| `enableLogging` | bool | Whether logging is enabled. |
| `loggingType` | string | Log output type. |
| `ignoreResolverLogs` | bool | Whether resolver logs are suppressed. |
| `logQueries` | bool | Whether all queries are logged. |
| `useLocalTime` | bool | Whether local time is used for logging. |
| `logFolder` | string | Log file folder path. |
| `maxLogFileDays` | integer | Max days to retain log files. |
| `enableInMemoryStats` | bool | Whether in-memory-only stats are enabled. |
| `maxStatFileDays` | integer | Max days to retain stat files. |
## Conditional Logic Notes
- No conditional parameters; this is a read-only endpoint.
## Edge Cases
- Password fields (`webServiceTlsCertificatePassword`, `dnsTlsCertificatePassword`) are returned masked as `"************"`.
- `proxy` and `forwarders` may be `null`.
- `defaultResponsiblePerson`, `eDnsClientSubnetIpv4Override`, `eDnsClientSubnetIpv6Override`, `dnsTlsCertificatePath`, `webServiceTlsCertificatePath` may be `null`.