Second Level Registrations¶
The production SRS has supported second level registrations (for example internetnzexample.nz) since 1:00pm on Tuesday 30th September 2014.
For general information on second-level registrations please see: https://dnc.org.nz/nz-policies/operations-and-procedures-policy/#:~:text=6.%20second%20level%20domain%20names
Table of Contents
Second Level Status Codes¶
The following table gives a brief summary of the second-level status and associated meaning:
Second Level Domain Status |
Registration options |
---|---|
Available |
The domain is available for registration on a first come first served basis. |
Prohibited |
For reasons of confusion, this domain name cannot be registered directly at the second level. These names include ‘gov’, ‘government’, ‘com’, ‘edu’, ‘nic’ and all macron variations of the current 15 second levels. |
Conflicted |
A domain status which means there are at least two registrations at the third level that have rights over this domain and so its registration at the second level may need to go through a conflicted process before it can be registered. |
Resolved |
A domain status indicating the domain name was conflicted but which agreement has been reached as to which registrant of the registrations at the third level is entitled to register it. |
Note
In addition to the second level status listed above there were two additional status PRR - Preferential Registration or Reservation. This status was only available until 1pm 30 March 2015. Reserved - these domain names were released back to the available pool of domain names at 1:00pm on Thursday 30th March 2017.
WHOIS Server Changes¶
The Whois server has been updated to return additional second-level specific status codes.
Whois Status Codes¶
Code |
Value |
Description |
---|---|---|
200 |
Active |
Registered domain |
210 |
Pending Release |
A registered domain that has been cancelled and is in the 90 day Pending Release period |
230 |
Prohibited |
For reasons of confusion, this domain name cannot be registered directly at the second level. These names include ‘gov’, ‘government’, ‘com’, ‘edu’, ‘nic’ and all macron variations of the current 15 second levels |
250 |
Conflicted |
A domain status which means there are at least two registrations at the third level that have rights over this domain and so its registration at the second level may need to go through a conflicted process after the second level registration policy ‘go-live’ date. See DNCL Registering, Managing and Cancelling Domain Names Policy section 8 and 10 for more details on the criteria for Conflicted domains. |
280 |
Resolved |
A domain status indicating the domain name was conflicted but which agreement has been reached as to which registrant of the registrations at the third level is entitled to register it. |
Client Error Codes¶
Code |
Value |
---|---|
500 |
Invalid characters in query string |
510 |
Domain is not managed by this register |
520 |
This domain is not available for registration. This error code will be returned for whois queries for Second Level Domains, for example: co.nz, org.nz, net.nz |
All errors in this category are permanent. The request should not be retried as is, instead the request should be reviewed to ensure that it is well formed, and appropriate for the whois server.
Fields¶
In addition there is a set of source domain name fields that may be returned for any unregistered domain name at the second level under .nz if certain requirements in the pending DNCL Registering, Managing and Cancelling Domain Names Policy section 8 - Preferential Registration Eligibility are met. These source domain names will show any domain names registered at the third level that are linked to the unregistered second level domain. There will not be any gaps in the sequence.
source_domain_name_01 |
The source domain name shows the registered third level domain name that is linked to the unregistered second level domain name |
source_domain_name_99 |
As above |
SRS Whois XML Transaction Changes¶
The statuses shown above for the Whois Server will be returned for the SRS Whois XML transaction. Also as per the whois server there is a set of linked domain name fields that may be returned for any unregistered domain name at the second level under .nz if certain requirements in the pending DNCL Registering, Managing and Cancelling Domain Names Policy section 8 - Preferential Registration Eligibility are met. These linked domain names will show any domain names registered at the third level that are linked to the unregistered second level domain. There will not be any gaps in the sequence.
Eg:
<Linked3lds>
<Linked3ld domainname="internetnz.org.nz"/>
<Linked3ld domainname="internetnz.co.nz"/>
<Linked3ld domainname="internetnz.net.nz"/>
</Linked3lds>
Second Level Registrations of Resolved Domains¶
Under the SRS or EPP protocols registrars that wish to register a domain at the second level that has Domain status = Resolved will need to perform a domain transfer. The transfer would be a normal domain transfer using a SRS DomainUpdate or an EPP DomainTransfer transaction. The UDAI that is provided for the transfer must be the UDAI of the linked third level domain (3LD).
The SRS will create the domain, copying contact records from the 3LD. If the registration is successful the domain status for the second level registration will be changed to “Active”.
Several fields on the DomainUpdate transaction will be ignored, and other rules will apply (as logically, it is a DomainCreate). These include:
Contact details will be ignored, as they will be copied from the linked 3LD.
Name server details are NOT copied
Only one domain can be ‘updated’ in this way at a time, i.e. DomainNameFilter cannot be provided (this is an “implicit” restriction on transfers anyway)
Flags (e.g. Cancel, Renew, NewUDAI etc.) will be ignored
Term can be provided, but will default to 1 if not provided.
RegistrantRef may also be provided
AuditText will be auto-generated to allow for easy identification of this transaction. This will overwrite any AuditText supplied.
Domains that have sunrise statuses of Conflicted or Prohibited will be rejected.
Domains where the linked 3LD is locked cannot be registered in this way.
These types of registrations will be rejected before the go-live date
Note
Registrars that wish to register an “available” domain at the second level must use the normal domain create transaction under the SRS or EPP protocols.
EPP Transactions¶
EPP Query Domain Status¶
The EPP domain:check transaction is used to return a status showing if the domain is available or not. Informational messages will be returned only for the new second level registration statuses.
The table below details the possible response values for the ‘avail’ attribute of the domain:name element and the optional domain:reason values if returned.
avail=”1/0” |
domain:reason |
Registered domain |
---|---|---|
0 |
Not returned |
The domain is not available for registration |
1 |
Not returned |
Domain is available for registration |
0 |
Prohibited |
Applies to registrations at the second level only and will be returned after the second level registration policy ‘go-live’ date. For reasons of confusion, this domain name cannot be registered directly at the second level. These names include ‘gov’, ‘government’, ‘com’, ‘edu’, ‘nic’ and all macron variations of the current 15 second levels |
0 |
Conflicted |
Applies to registrations at the second level only and will be returned after the second level registration policy ‘go-live’ date. A domain status which means there are at least two registrations at the third level that have rights over this domain and so its registration at the second level may need to go through a conflicted process after the second level registration policy ‘go-live’ date. See DNCL Registering, Managing and Cancelling Domain Names Policy section 8 and 10 for more details on the criteria for Conflicted domains. |
0 |
Resolved |
Applies to registrations at the second level only and returned after the second level registration policy ‘go-live’ date. A domain status indicating the domain name was conflicted but which agreement has been reached as to which registrant of the registrations at the third level is entitled to register it. |
EPP Request a new UDAI¶
The EPP domain::update request with only an empty auth_info will generate a new UDAI. This will work if the domain status is Active or PendingRelease. If the status is PendingRelease it will not uncancel the domain.
EPP UDAI Validate¶
The EPP domain::info request can be used to validate the UDAI by populating the domain:authInfo field. The EPP proxy will either return the domain:info details if the UDAI is valid or result code 2202 invalid authorisation details if the UDAI is invalid.
Example Whois Output¶
Prohibited¶
whois com.nz
version: 5.00
query_datetime: 2015-06-12T15:53:00+12:00
domain_name: com.nz
query_status: 230 Prohibited
Available¶
whois internetnznew.nz
version: 5.00
query_datetime: 2015-06-12T15:54:49+12:00
domain_name: internetnznew.nz
query_status: 220 Available
Conflicted¶
whois dncl.nz
version: 5.00
query_datetime: 2015-06-12T16:13:31+12:00
domain_name: dncl.nz
query_status: 250 Conflicted
source_domain_name_01: dncl.co.nz
source_domain_name_02: dncl.net.nz
source_domain_name_03: dncl.org.nz
Resolved¶
whois bees.nz
version: 5.00
query_datetime: 2015-06-15T11:47:54+12:00
domain_name: bees.nz
query_status: 280 Resolved
source_domain_name_01: bees.co.nz
Domain not available¶
whois co.nz
version: 5.00
query_datetime: 2015-06-12T16:04:00+12:00
domain_name: co.nz
query_status: 520 This domain is not available for registration
Example SRS Whois XML request¶
<?xml version="1.0" encoding="UTF-8"?>
<SRSRequest RegistrarId="999" VerMajor="1" VerMinor="0">
<Whois DomainName="com.nz"/>
<Whois DomainName="internetnznew.nz"/>
<Whois DomainName="dn3.nz"/>
<Whois DomainName="internetnz.nz"/>
<Whois DomainName="nvp.nz"/>
<Whois DomainName="nzcctld.nz"/>
<Whois DomainName="co.nz"/>
<Whois DomainName="internetnz.comf "/>
</SRSRequest>
Example SRS Whois XML responses¶
Prohibited¶
<Response Action="Whois" FeId="8" FeSeq="20925329" OrigRegistrarId="999" RecipientRegistrarId="999">
<FeTimeStamp Day="18" Hour="12" Minute="16" Month="06" Second="23" TimeZoneOffset="+12:00" Year="2014"/>
<Domain DomainName="com.nz" Status="Prohibited"/>
</Response>
Available¶
<Response Action="Whois" FeId="8" FeSeq="20925329" OrigRegistrarId="999" RecipientRegistrarId="999">
<FeTimeStamp Day="18" Hour="12" Minute="16" Month="06" Second="23" TimeZoneOffset="+12:00" Year="2014"/>
<Domain DomainName="internetnznew.nz" Status="Available"/>
</Response>
Conflicted¶
<Response Action="Whois" FeId="8" FeSeq="20925329" OrigRegistrarId="999" RecipientRegistrarId="999">
<FeTimeStamp Day="18" Hour="12" Minute="16" Month="06" Second="23" TimeZoneOffset="+12:00" Year="2014"/>
<Domain DomainName="internetnz.nz" Status="Conflicted">
<Linked3lds>
<Linked3ld domainname="internetnz.org.nz"/>
<Linked3ld domainname="internetnz.co.nz"/>
<Linked3ld domainname="internetnz.net.nz"/>
</Linked3lds>
</Domain>
</Response>
Resolved¶
Note
There is only a single linked name for Resolved
<Response Action="Whois" FeId="8" FeSeq="21877448" OrigRegistrarId="999" RecipientRegistrarId="999">
<FeTimeStamp Day="29" Hour="22" Minute="15" Month="07" Second="02" TimeZoneOffset="+12:00" Year="2014"/>
<Domain DomainName="nzcctld.nz" Status="Resolved">
<Linked3lds>
<Linked3ld domainname="nzcctld.co.nz"/>
</Linked3lds>
</Domain>
</Response>
Domain not available¶
For example querying a second level domain eg co.nz, net.nz etc
<Response Action="Whois" FeId="5" FeSeq="7531378" OrigRegistrarId="999" RecipientRegistrarId="999">
<FeTimeStamp Day="29" Hour="22" Minute="26" Month="07" Second="05" TimeZoneOffset="+12:00" Year="2014"/>
<Error ErrorId="DOMAIN_NOT_AVAILABLE_FOR_REGISTRATION" Hint="UNKNOWN_ERROR_HINT" Severity="err">
<Description><![CDATA[The supplied domain name is not available for registration]]></Description>
<ErrorDetails><![CDATA[co.nz]]></ErrorDetails>
</Error>
</Response>
Domain not managed¶
Querying a non-dotnz domain eg .com, .net, etc
<Response Action="Whois" FeId="5" FeSeq="7531378" OrigRegistrarId="999" RecipientRegistrarId="999">
<FeTimeStamp Day="29" Hour="22" Minute="26" Month="07" Second="05" TimeZoneOffset="+12:00" Year="2014"/>
<Error ErrorId="DOMAIN_NOT_MANAGED_BY_THIS_REGISTRY" Hint="UNKNOWN_ERROR_HINT" Severity="err">
<Description><![CDATA[The supplied domain name is not managed by this registry]]></Description>
<ErrorDetails><![CDATA[internetnz.comf]]></ErrorDetails>
</Error>
</Response>
Example EPP domain:check request¶
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<check>
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>com.nz</domain:name>
</domain:check>
</check>
<clTRID>checkdomain-2014-06-18-com.nz-019</clTRID>
</command>
</epp>
Example EPP domain:check responses¶
Prohibited¶
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="1000">
<msg lang="en">Command completed successfully</msg>
</result>
<resData>
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:cd>
<domain:name avail="0">com.nz</domain:name>
<domain:reason>Prohibited</domain:reason>
</domain:cd>
</domain:chkData>
</resData>
<trID>
<clTRID>checkdomain-2014-06-18-com.nz-019</clTRID>
<svTRID>8,20925487</svTRID>
</trID>
</response>
</epp>
Available¶
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="1000">
<msg lang="en">Command completed successfully</msg>
</result>
<resData>
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:cd>
<domain:name avail="1">internetnznew.nz</domain:name>
</domain:cd>
</domain:chkData>
</resData>
<trID>
<clTRID>checkdomain-2014-06-18-internetnznew.nz-019</clTRID>
<svTRID>5,7536248</svTRID>
</trID>
</response>
</epp>
Conflicted¶
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="1000">
<msg lang="en">Command completed successfully</msg>
</result>
<resData>
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:cd>
<domain:name avail="0">internetnz.nz</domain:name>
<domain:reason>Conflicted</domain:reason>
</domain:cd>
</domain:chkData>
</resData>
<trID>
<clTRID>checkdomain-2014-06-18-internetnz.nz-019</clTRID>
<svTRID>8,20925490</svTRID>
</trID>
</response>
</epp>
Existing third level registration¶
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="1000">
<msg lang="en">Command completed successfully</msg>
</result>
<resData>
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:cd>
<domain:name avail="0">internetnz.net.nz</domain:name>
</domain:cd>
</domain:chkData>
</resData>
<trID>
<clTRID>checkdomain-2014-06-18-internetnz.net.nz-019</clTRID>
<svTRID>8,20925491</svTRID>
</trID>
</response>
</epp>
Domain not available¶
For example querying a second level domain eg co.nz, net.nz etc
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="2400">
<msg lang="en">The supplied domain name is not available for registration</msg>
<extValue>
<value>co.nz</value>
<reason lang="en">(unknown error detail)</reason>
</extValue>
</result>
<trID>
<clTRID>checkdomain-2014-06-18-co.nz-019</clTRID>
<svTRID>5,7536263</svTRID>
</trID>
</response>
</epp>
Example Second Level Registrations of Resolved Domains¶
SRS Transfer to register a second level domain that has PRR, Resolved status¶
Request - Transfer without Term
<DomainUpdate ActionId="internetnz 20140729 internetnztestdomain.nz 3" FullResult="1" UDAI="pbFmwPjS">
<DomainNameFilter>internetnztestdomain.nz</DomainNameFilter>
<AuditText>Transfer PRR domain</AuditText>
</DomainUpdate>
Response - Transfer without Term, domain created for a default 1 month term
<Response Action="DomainUpdate" FeId="5" FeSeq="7531549" OrigRegistrarId="999" RecipientRegistrarId="999" TransId="internetnz 20140729 inzgroup.nz 3">
<FeTimeStamp Day="29" Hour="23" Minute="20" Month="07" Second="26" TimeZoneOffset="+12:00" Year="2014"/>
<Domain Delegate="1" DomainName=" internetnztestdomain.nz" RegistrarId="90" Status="Active" Term="1" UDAI="NUvuYuFj">
<RegistrantContact Email="office@internetnz.net.nz" Name="InternetNZ">
<PostalAddress Address1="PO Box 11-881" City="Wellington" CountryCode="NZ" PostalCode="6011"/>
<Phone AreaCode="4" CountryCode="64" LocalNumber="472 1600"/>
<Fax AreaCode="4" CountryCode="64" LocalNumber="495 2115"/>
</RegistrantContact>
<AdminContact Email="office@internetnz.net.nz" Name="InternetNZ">
<PostalAddress Address1="PO Box 11-881" City="Wellington" CountryCode="NZ" PostalCode="6011"/>
<Phone AreaCode="4" CountryCode="64" LocalNumber="472 1600"/>
<Fax AreaCode="4" CountryCode="64" LocalNumber="495 2115"/>
</AdminContact>
<TechnicalContact Email="soa@internetnz.net.nz" Name="Technical Manager">
<PostalAddress Address1="InternetNZ" Address2="PO Box 11881" City="Wellington" CountryCode="NZ"/>
<Phone AreaCode="4" CountryCode="64" LocalNumber="472-1600"/>
<Fax AreaCode="4" CountryCode="64" LocalNumber="495-2115"/>
</TechnicalContact>
<BilledUntil Day="29" Hour="23" Minute="20" Month="08" Second="26" TimeZoneOffset="+12:00" Year="2014"/>
<RegisteredDate Day="29" Hour="23" Minute="20" Month="07" Second="26" TimeZoneOffset="+12:00" Year="2014"/>
<AuditDetails ActionId="internetnz 20140729 internetnztestdomain.nz 3" RegistrarId="90">
<AuditTime>
<From Day="29" Hour="23" Minute="20" Month="07" Second="26" TimeZoneOffset="+12:00" Year="2014"/>
</AuditTime>
<AuditText><![CDATA[PRP Registration - Linked 3LR: internetnztestdomain.net.nz]]></AuditText>
</AuditDetails>
</Domain>
</Response>
Request - Transfer with 12 month Term
<DomainUpdate ActionId="internetnz 20140729 internetnztestdomain.nz 3" FullResult="1" Term="12" UDAI="qD48x4eX">
<DomainNameFilter>internetnztestdomain.nz</DomainNameFilter>
<AuditText>Transfer PRR domain</AuditText>
</DomainUpdate>
Response - Transfer with 12 month Term
Response is the same as the above response for transfer without a Term
but the BilledUntil date is 12 months into the future instead of 1 month.
Response - Transfer Error ,when the UDAI is invalid
<?xml version="1.0" encoding="utf-8"?>
<NZSRSResponse RegistrarId="xx" VerMajor="6" VerMinor="2">
<Response Action="DomainUpdate" FeId="5" FeSeq="7930385" OrigRegistrarId="1" RecipientRegistrarId="60" TransId="internetnz 201sg08261140">
<FeTimeStamp Day="27" Hour="16" Minute="20" Month="08" Second="46" TimeZoneOffset="+12:00" Year="2014"/>
<Error ErrorId="UDAI_DOMAIN_MISMATCH" Hint="INVALID_REQUEST_ERROR" Severity="err">
<Description><![CDATA[The given UDAI does not match the requested domain]]></Description>
<ErrorDetails><![CDATA[internetnztestdomain.org.nz]]></ErrorDetails>
</Error>
</Response>
</NZSRSResponse>
Response - Transfer Error ,when the UDAI has expired
<?xml version="1.0" encoding="utf-8"?>
<NZSRSResponse RegistrarId="xx" VerMajor="6" VerMinor="2">
<Response Action="DomainUpdate" FeId="5" FeSeq="7930385" OrigRegistrarId="1" RecipientRegistrarId="60" TransId="internetnz 201sg08261140">
<FeTimeStamp Day="27" Hour="16" Minute="20" Month="08" Second="46" TimeZoneOffset="+12:00" Year="2014"/>
<Error ErrorId="UDAI_EXPIRED" Hint="UNKNOWN_ERROR_HINT" Severity="err">
<Description><![CDATA[The supplied UDAI has expired]]></Description>
<ErrorDetails><![CDATA[internetnztestdomain.org.nz]]></ErrorDetails>
</Error>
</Response>
</NZSRSResponse>
EPP transfer to register a second level domain that has a Resolved status¶
Request - Transfer without period values
<Response Action="Whois" FeId="8" FeSeq="20925329" OrigRegistrarId="999" RecipientRegistrarId="999">
<FeTimeStamp Day="18" Hour="12" Minute="16" Month="06" Second="23" TimeZoneOffset="+12:00" Year="2014"/>
<Domain DomainName="internetnz.nz" Status="Resolved">
<Linked3lds>
<Linked3ld domainname="internetnz.org.nz"/>
<Linked3ld domainname="internetnz.co.nz"/>
<Linked3ld domainname="internetnz.net.nz"/>
</Linked3lds>
</Domain>
</Response>
Response - Transfer without period values, domain created for 1 month
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="1000">
<msg lang="en">Command completed successfully</msg>
</result>
<resData>
<domain:trnData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>internetnztestdomain.nz</domain:name>
<domain:trStatus>serverApproved</domain:trStatus>
<domain:reID>999</domain:reID>
<domain:reDate>2014-07-30T12:08:28+12:00</domain:reDate>
<domain:acID>999</domain:acID>
<domain:acDate>2014-07-30T12:08:28+12:00</domain:acDate>
</domain:trnData>
</resData>
<trID>
<clTRID>transferdomain- internetnztestdomain.nz-testrun2</clTRID>
<svTRID>5,7535891[1]+1</svTRID>
</trID>
</response>
</epp>
Request - Transfer with 12 month period value
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="request">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>internetnztestdomain.nz</domain:name>
<domain:period unit="m">12</domain:period>
<domain:authInfo>
<domain:pw>shBaAsaE</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<clTRID>transferdomain- internetnztestdomain.nz-testrun2</clTRID>
</command>
</epp>
Response - Transfer with 12 month period value, domain created for 12 months
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="1000">
<msg lang="en">Command completed successfully</msg>
</result>
<resData>
<domain:trnData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>internetnztestdomain.nz</domain:name>
<domain:trStatus>serverApproved</domain:trStatus>
<domain:reID>999</domain:reID>
<domain:reDate>2014-07-30T12:08:28+12:00</domain:reDate>
<domain:acID>999</domain:acID>
<domain:acDate>2014-07-30T12:08:28+12:00</domain:acDate>
</domain:trnData>
</resData>
<trID>
<clTRID>transferdomain- internetnztestdomain.nz-testrun2</clTRID>
<svTRID>5,7535891[1]+1</svTRID>
</trID>
</response>
</epp>