CentralNic Reseller Homepage
CentralNic Reseller Homepage

.dk

The registry has announced an important update regarding the Registrant and Registrar Models. Beginning in July 2026, all new .DK domain registrations and management will be conducted exclusively under the Registrar Model. Furthermore, by July 2028, all existing domains should transition to this management model. Registrants currently operating under the Registrant Model have already been notified, and the registry will continue to support them throughout the transition by providing the necessary tools and guidance. The decision to switch to the Registrar Model remains with the registrant, who will also be responsible for selecting their preferred registrar.


At CentralNic Reseller, we will begin offering domains under the Registrar Model in due course. We are committed to providing you with all the relevant information needed to proactively engage with registrants, guiding them through the transition process. Our goal is to ensure that registrants can seamlessly switch to the Registrar Model while maintaining continuity by staying with you and us as their trusted providers.

You can find the API commands for the Registrar Model here.

API Commands

Please find in the following a set of the most commonly used standard API commands in order to register, modify, renew, and transfer a domain name.

Domain Registration

(API Command reference » AddDomain)
Exception
command             = AddDomain
domain              = yourdomain.dk
period              = (INT)
ownercontact0       = (CONTACT)
admincontact0       = (CONTACT)
techcontact0        = (CONTACT)
billingcontact0     = (CONTACT)
nameserver0         = (NAMESERVER)
nameserver1         = (NAMESERVER)
X-DK-USER-TYPE      = (TEXT)
X-DK-USER-ID-NUMBER = (TEXT)
X-DK-ACCEPT-TAC     = (0|1) (required)
DNSSEC[0-N]         = (DSDATA) (optional)

Please note: .dk domain names can now be secured with DNSSEC (only for the AddDomain command). Punktum.dk supports DSDATA, but not KEYDATA.

Domain Modification

(API Command reference » ModifyDomain)

General modifications including changing name servers for .dk domains are only possible via the Punktum.dk Self Service in the .dk web interface.

Process for changing nameservers.

Change of registrant

Changing the registrant of a .dk domain can currently only be done through the Punktum.dk web interface as explained on their website.

  • Please note that the Danish registry has introduced a fee of 50,00 DKK for the change of registrant (trade) of a .dk domain on January 1, 2019. The fee is due as soon as the new domain holder agrees to the trade. The whole trade process and the payment of the trade fee to the registry is done through the Self-Service Portal of Punktum.dk.
  • If a .DK owner change is processed, all three registry-side roles (registrant, proxy and payer) will be changed to the new domain owner. This will lead to a domain not being under our management anymore and will need to be transferred in again.

    If such an owner change is completed within 45 days of the domain's expiration date, the registry will immediately invoice the new owner and the domain can only be transferred back in once renewal has been paid and finalized.

Domain Renewal

(API Command reference » RenewDomain)
Command
command    = RenewDomain
domain     = yourdomain.dk
period     = (INT)
expiration = (INT)

Please note: The registry will send a confirmation e-mail to the domain owner after the successful renewal.

Domain Deletion

DeleteDomain is not available for .dk TLDs.

.dk domain names can only be deleted through the Punktum.dk webinterface (no documents are required)

Domain Transfer

(API Command reference » TransferDomain)
Exception
command = TransferDomain
domain  = yourdomain.dk
action  = request
  • Domains under the “Registrar Management” model can not be transferred at the moment. Please contact the support team for more information
  • No authcode is required.
  • Domains in status "Deactivated" need to be reactivated by the registrant through Punktum.dk prior to the transfer; if reactivation fees occur due to a transfer of a deactivated domain, these will be passed to the reseller

Domain Restore

(API Command reference » RestoreDomain)
Command
command = RestoreDomain
domain  = yourdomain.dk

API Commands Registrar Model (Starting 2026-07-01)

Due to active development, all the changes presented in this section may be subject to change

The following section describes the new API commands for the handling within the registrar rodel. These commands can be used from 2026-05-15 in OTE and from 2026-07-01 in the live environment.

Please find in the following a set of the most commonly used standard API commands in order to register, modify, renew, and transfer a domain name.

Domain Registration

(API Command reference » AddDomain)
Exception
command                  = AddDomain
domain                   = yourdomain.dk
period                   = 1 (optional)
ownercontact0            = (CONTACT)
admincontact0            = (CONTACT)
techcontact0             = (CONTACT)
billingcontact0          = (CONTACT)
nameserver0              = (NAMESERVER)
nameserver1              = (NAMESERVER)
X-DK-USER-TYPE           = (INDIVIDUAL|COMPANY|ASSOCIATION|PUBLIC_ORGANIZATION) (required)
X-DK-USER-CVR            = (TEXT) (required if X-DK-USER-TYPE is not "INDIVIDUAL" and owner contact country = DK)
X-DK-USER-PNUMBER        = (TEXT) (optional)
X-DK-MOBILE-PHONE        = (PHONE) (optional)
X-DK-SECONDARY-EMAIL     = (EMAIL) (optional)
X-DK-SOLE-PROPRIETORSHIP = (0|1|NULL) (optional)
X-DK-ACCEPT-TAC          = (0|1) (required)
DNSSEC[0-N]              = (DSDATA) (optional)

Please note: .dk domain names can now be secured with DNSSEC (only for the AddDomain command). Punktum.dk supports DSDATA, but not KEYDATA.

As already in place, the domain registration process requires some additional actions. If the X-DK-ACCEPT-TAC extension is set to 0, the command response will feature a URL that can be used to display Punktum's terms and conditions to the customer, to which they need to opt in. This process is non-realtime. The process does become realtime, if X-DK-ACCEPT-TAC has been set to 1 instead. However, this means that you take responsibility of presenting the customer with Punktum's terms and conditions for .DK domain registrations.

Additionally, moving forward, domain names can only be registered and renewed for one year.

Domain Modification

(API Command reference » ModifyDomain)
Exception
command                  = ModifyDomain
domain                   = yourdomain.dk
X-DK-USER-TYPE           = (INDIVIDUAL|COMPANY|ASSOCIATION|PUBLIC_ORGANIZATION) (required in case of ownerchange)
X-DK-USER-CVR            = (TEXT) (required in case of ownerchange and if X-DK-USER-TYPE is not "INDIVIDUAL" and owner contact country = DK)
X-DK-USER-PNUMBER        = (TEXT) (optional)
X-DK-MOBILE-PHONE        = (PHONE) (optional)
X-DK-SECONDARY-EMAIL     = (EMAIL) (optional)
X-DK-SOLE-PROPRIETORSHIP = (0|1|NULL) (optional)
X-DK-REQUEST-AUTHCODE    = (0|1|NULL) (optional)

Please note that an authorization code for domain transfers cannot be set by using the usual AUTH= command parameter. Instead, the extension X-REQUEST-AUTHCODE needs to be set for the domain, as auth codes cannot be set by the user, but need to instead be requested at the registry.

Additionally, please also note that even though most extensions can be edited, the X-DK-USER-TYPE extension can not.

Furthermore, Punktum is currently having issues in their test environment, which makes nameserver changes on domains currently impossible.

Domain Renewal

(API Command reference » RenewDomain)
Command
command    = RenewDomain
domain     = yourdomain.dk
period     = 1
expiration = (INT)

Please note: The registry will send a confirmation e-mail to the domain owner after the successful renewal.

Domain Deletion

(API Command reference » DeleteDomain)
Command
command    = DeleteDomain
domain     = yourdomain.dk

Domain Transfer

(API Command reference » TransferDomain)
Exception
command         = TransferDomain
domain          = yourdomain.dk
auth            = (TEXT) (optional)
X-DK-ACCEPT-TAC = (0|1|NULL) (optional)

The TransferDomain command comes with some additional caveats. In general, a differentiation between two cases needs to be made:

  1. The domain is currently in the registrant model.
  2. The domain is currently in the registrar model.

In case the customer has provided you with an auth code, the transfer works as any other transfer and no additional steps are required, no matter which model the domain is currently in. Customers that currently manage their domain name in the registrant model can request a transfer authorization code directly in the registry's self-service portal, which can be found here.

In case the customer has not provided you with an auth code and the domain is currently under registrant management, the X-DK-ACCEPT-TAC extension comes into play. If the extension is set to 0 or not provided, you will (similarly to domain registrations) get a URL returned, which then can be forwarded to the customer. The customer will there be prompted to opt-in to the transfer in accordance with Punktum's terms and conditions. If the domain is currently registrant managed, and the X-DK-ACCEPT-TAC is set to 1, you are taking responsibility over informing the customer that the domain will be moved to the registrar model.

Domain Restore

(API Command reference » RestoreDomain)
Command
command = RestoreDomain
domain  = yourdomain.dk

Domain Extensions

X-DK-USER-TYPE Before 2026-07-01:
COMPANY | PERSON | PUBORG | ASSOCIATION

This parameter is optional. If no value is set, COMPANY or INDIVIDUAL will be used depending on the organization field in the Contact Handle.



From 2026-07-01:
INDIVIDUAL | COMPANY | ASSOCIATION | PUBLIC_ORGANISATION

The type of the owner contact. MUST be one of the values above.
X-DK-ACCEPT-TAC 0|1

Extension to confirm or deny that the owner contact acknowledged the terms and conditions for .DK.
X-REQUEST-AUTHCODE 0|1|NULL

Required to set a transfer auth code for a domain name

Domain Extensions for Organisations or Companies

X-DK-USER-ID-NUMBER This parameter depends on the USER-TYPE. It is mandatory for companies, public organizations, and associations. Valid values are EAN (used by the public sector in Denmark for electronic invoicing), CVR (VAT number), or pnumber (production unit number).
X-DK-USER-CVR CVR associated with the owner contact. Required for non-individuals residing in Denmark, otherwise optional.
X-DK-USER-PNUMBER Production unit number. Optional extension used for validation for Danish companies with more physical addresses related to a single VAT number.
X-DK-MOBILE-PHONE Additional, secondary phone number that can be added.
X-DK-SECONDARY-EMAIL Secondary Email address. If provided, will take precedent over the owner contact's primary Email address in the WhoIs.
X-DK-SOLE-PROPRIETORSHIP 0|1|NULL

Companies with sole proprietorship (owned by a single individual) have the same protection rights as an individual. This extension can be used to hide Email addresses from the public WhoIs.

Domain Restrictions

  • Name servers for .dk domain names must be approved by Punktum.dk before sending a registration request.
    • Register name server
    • All name servers in the .dk zone must be registered and approved by Punktum.dk.
    • To get this approval of name servers, the administrator must document the needed technical knowledge about dns, including setting up domain names on a name server. Punktum.dk does not support setting up name servers.
    • As a part of the approving process, the applicant must allow zone transfer from the name servers to:
      • Name server at Punktum.dk: hostcount.dk-hostmaster.dk
      • IPv4 address: 193.163.102.6
      • IPv6 address: 2a01:630:0:40:3:4:5:6
    • The form has become obsolete. Please use the Punktum.dk website instead. Approval of name servers will take a minimum of 2 work days to process. When the name servers are approved, the registry will notify you in an email.
  • For the change of nameservers please see procedure below
    • This section of Punktum.dk's website directs primary to DNS contacts
    • General information regarding Nameserver administration can be found at the registry via this link.
    • Existing name servers must be administrated, using the registry self service.
    • New name servers can be created using this link.
    • Change name servers IP address:
      • When a name server receives a new IP address, Punktum.dk only needs to update this information, if the name server is a part of the .dk zone and the name server hosts its own domain.
      • If the name server is not in the .dk zone? It will not be possible to make the update in the .dk zone. The update must be performed in the name servers zone. Ex. .com, .org or .net.
      • Does the name server run its own domain? Changes of the name servers IP addresses must be updated, using registry self service.
      • How can I see if the name server is running its own domain? In this example, we use the registry name servers:
        • authns1.ngdc.net
        • auth01.dk-hostmaster.dk
        • auth02.dk-hostmaster.dk
        • all run our domain: dk-hostmaster.dk
    • As the name for two of the registry name servers both dk-hostmaster.dk, the registry says, they run their own domain. That is why changes of these name servers IP addresses, must be updated in the registry self service. The name server authns1.ngdc.net must be updated in the .net zone.
    • Changing the name of your name server If the name server is to given a new name, it must be registered, and approved by Punktum.dk. After the approval, all domain names can be redelegated internally to the new name server. Then the old name server, can be removed from the .dk zone.

IDN Information

You can use all Danish characters in your .dk domain name. This means that you can use æ, ø and å in your domain name. You can also use the letters ö, ä, ü and é and numbers from 0 to 9 and - (negative sign used as a hyphen or substitute for spaces). Not all internet browsers and e-mail programs can handle domain names with the characters æ, ø, å, ö, ä, ü and é. If you wish to use the domain name for an e-mail address you should therefore avoid these characters.

Supported IDN Scripts

The following IDN scripts are supported by .dk.
Provide the LANGUAGE TAG corresponding to your desired IDN within the AddDomain command as X-IDN-LANGUAGE extension.

DanishDK

Get more information of "IDN tables", which represent permitted code points (letters) allowed for Internationalised Domain Name registrations in particular registries on IANA Repository of IDN Practices.

We domains
-