epp guidelines 13d

210
Registration Guidelines for .eu Version 1.3D Part II: EPP-XML 3 June 2010

Upload: josemarialop6463

Post on 28-Nov-2014

526 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: EPP Guidelines 13D

Registration Guidelines

for .eu

Version 1.3D

Part II:

EPP-XML

3 June 2010

Page 2: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

2

Change log

Version 1.3D

Corrected contact update XML syntax

Added DNSSEC related commands and references: Create Keygroup, Delete Keygroup,

Update Keygroup, Check Keygroup and Info Keygroup

Added DNSSEC related examples to: Create Domain, Update Domain, Trade Domain,

Transfer Domain, Check Domain, Transfer from Quarantine

Added new Command: Dynamic Updator Results

Changed maximum number of characters for a name server to 255

Added more examples to: Transfer domain, Update Domain, Update nsgroup, Delete

nsgroup.

Version 1.3C

Changed maximum number of characters for Name server group to 50

Added a remark in the XML part

Added IDN examples in CREATE DOMAIN, CHECK DOMAIN, INFO DOMAIN VERSION

Added IDN extension description

Corrected description of <eurid:nbrPromoCreditsAvailable>

Simplified command examples

Version 1.3B

Added remark for <hostAttr> in CREATE DOMAIN

Added example regarding server status “TransferProhibited” in TRANSFER DOMAIN,

TRADE DOMAIN, CHECK DOMAIN VERSION 2, INFO DOMAIN VERSION 2

Added new command example in CHECK CONTACT FOR TRANSFER

Added extra information server reply INFO DOMAIN VERSION 2

Added new server reply INFO DOMAIN VERSION 1 for domain ON HOLD

Version 1.3A

Added example of IDN name server in CREATE DOMAIN

Added forced deletes in DELETE DOMAIN

Added TRANSFER REMINDER

Changed exDate from anniversary date to renewal date in INFO DOMAIN

Added INFO REGISTRAR

Added POLL

Added ADDENDUM 3: Overview of EURid return codes in EPP Poll

Version 1.2B

Added information on time zone (GETTING STARTED)

Added “ga” and “mt” in Addendum 2: List of all accepted language codes

Version 1.2A

Added registrant authorised transfer (TRANSFER DOMAIN and TRANSFER FROM

QUARANTINE)

Added cancellation of pending trades and transfers (TRANSFER DOMAIN, TRANSFER

FROM QUARANTINE, TRADE DOMAIN)

Added check contact for transfer (CHECK CONTACT FOR TRANSFER)

Added information on rate-limiting (CHECK DOMAIN and INFO DOMAIN)

Changed return values for INFO DOMAIN in case the domain name is not registered with

the querying registrar

Removed screenshots of end-user confirmation (TRANSFER DOMAIN and TRADE

DOMAIN)

Page 3: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

3

Version 1.1B Added part “Number of parallel connections” (“GETTING STARTED”)

Added info about Monitored Update (INFO CONTACT and UPDATE CONTACT commands)

“CONTACT object”: “name” field is limited to 50 characters and “org” field to 100

characters; no truncation of the input

Added information that minor changes of the registrant’s name field are possible

(UPDATE CONTACT)

Various typos

Version 1.1A

Added Table of contents

Incorporated text from release notes 5.1 (INFO DOMAIN and CHECK DOMAIN

commands)

Version 1.0F

Corrections in update domain, check domain

Output of EPP commands updated to new server syntax

Various typos

Page 4: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

4

Table of Contents INTRODUCTION.................................................................................................................................6 GETTING STARTED ..........................................................................................................................7

UserID and password .......................................................................................................................7 Time zone.........................................................................................................................................7 About EPP and the current EURid system.......................................................................................7

Conceptual differences ................................................................................................................7 Data differences...........................................................................................................................8

Transactions .....................................................................................................................................9 Transport and security....................................................................................................................10 Number of parallel connections......................................................................................................10 Versions & ports .............................................................................................................................10 EPP commands..............................................................................................................................11 XML ................................................................................................................................................11 Command format............................................................................................................................13

Client EPP command.................................................................................................................13 Server EPP response ................................................................................................................14 Object extension ........................................................................................................................15

DESCRIPTION OF THE TRANSACTIONS......................................................................................19 Hello / Greeting...............................................................................................................................20 Login ...............................................................................................................................................22 Logout.............................................................................................................................................24 Create contact ................................................................................................................................25 Update contact ...............................................................................................................................35 Delete contact.................................................................................................................................44 Info contact .....................................................................................................................................47 Create nsgroup...............................................................................................................................54 Update nsgroup ..............................................................................................................................57 Delete nsgroup ...............................................................................................................................59 Check nsgroup ...............................................................................................................................62 Info nsgroup....................................................................................................................................64 Create domain ................................................................................................................................66 Update domain ...............................................................................................................................90 Delete domain ................................................................................................................................99 Undelete domain ..........................................................................................................................102 Transfer domain ...........................................................................................................................104 Transfer from quarantine..............................................................................................................116 Trade domain ...............................................................................................................................122 Transfer reminder .........................................................................................................................129 Check contact for transfer ............................................................................................................132 Reactivate domain........................................................................................................................135 Check domain...............................................................................................................................137 Info domain...................................................................................................................................145 Info registrar .................................................................................................................................176 Poll................................................................................................................................................179 Create keygroup ...........................................................................................................................183 Update keygroup ..........................................................................................................................191 Delete keygroup ...........................................................................................................................196 Check keygroup............................................................................................................................198 Info keygroup................................................................................................................................200 Dynamic updater results...............................................................................................................202

UNIMPLEMENTED EPP COMMANDS ..........................................................................................206 Renew...........................................................................................................................................206 Check contact...............................................................................................................................206 Transfer contact............................................................................................................................206

ADDENDUM 1: List of all accepted country codes for registrant contacts .....................................207

Page 5: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

5

ADDENDUM 2: List of all accepted language codes for contacts and <evidence-lang> ...............208 ADDENDUM 3: Overview of EURid return codes in EPP Poll .......................................................209

Page 6: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

6

EPP – XML INTRODUCTION

EURid has implemented an XML based interface to allow registrars to create programs that can work interactively with the automatic registration system.

EPP is a protocol for registering and managing domain names (and not necessarily only domain names) in a very generic way. Each registry has its own way of working, which means that some features will apply while others will have a slightly different implementation. That's why the designers of EPP have made it "extensible" from the very beginning.

Due to some fundamental differences in the conceptual model and due to differences in the data format of some fields, a few compromises have been made.

This section describes the different transactions that you need to set up to work with the EPP interface. For each possible command, we will briefly look at the EPP protocol and relate it to the EURid situation. As you will discover, there are some differences that need to be taken care of, some because of the legal framework we are working in. We tried to keep as close to the standard as possible, but certain policy decisions for the .eu domain space simply do not fit within the EPP framework.

XML schemas are a means of exactly describing the possible content of a XML document. As such, we refer to the schema definitions that describe EPP’s syntax.

When working with XML, you are expected to send a valid document. That's why you should validate your document against the schemas that are provided. As we cannot compel you to do it, the EURid EPP system will do a validation as the first step of the handling of the XML document, using a validating XML parser.

Invalid documents will generate an error message from the validation tool back to the sender. It is obvious that this will generate unnecessary load on the server and will therefore deteriorate the performance of the system.

EURid does not provide any client software. It is the responsibility of the registrar to create its own interface to communicate with the registration application.

Page 7: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

7

GETTING STARTED

UserID and password

To access the EPP system, you need to use a userid and password. The userid is the registrar id that you have been attributed upon registration as a registrar. The password is the one that you have chosen when you activated your account.

Time zone

EURid's EPP system returns the date and time in UTC, as specified by the EPP standard, but the registry uses local Belgian time (CET/CEST) for all operations. Please note that this can have an impact on scheduled commands which might end up being executed on a different date when scheduling transactions close to midnight (e.g. a command scheduled at 2008-08-31T23:59:59.000Z would be executed at 2008-09-01 01:59:59.000 CEST). Normally Belgian time is UTC +1h. During daylight savings time it is UTC +2h.

About EPP and the current EURid system

The schemas describe ALL VALID documents (as far as the protocol is concerned). The Extensible Provisioning Protocol tries to be generic enough, to accommodate for most situations with TLD's that have different procedures. Furthermore, EPP allows for extending the protocol (and these can be mandatory). Consequently, a document that is a valid document in one environment might be invalid in another.

As already mentioned, EPP has some fundamental incompatibilities with the EURid system. EURid opted to adapt the schema (through extensions and modifications) that reduce diverging from the “standard” to the minimum. Also note that there are 2 levels of limitations: one imposed by the EPP schema (we use as much as we can the standard schema and only changed it when needed) and one imposed by the policy or technical implementation.

Conceptual differences

The current version of the EPP schemas is based on some prerequisites and do not make use of some options that are incompatible with the EURid implementation of the registration information. In the following list, we will discuss the conceptual differences between the two models. In most cases each of these differences will require some modification to the standard.

• EURid: a contact has a type BY DEFINITION, and can only be used in that role. If the

same person has 2 roles (e.g. a billing contact and a technical contact) then it has to be defined twice.

EPP: defines a contact without a type. It acquires its type from its usage. The same contact object can be used in different roles.

• EURid: a contact object belongs to a registrar and can not be transferred to another registrar. EPP: a contact is generic and control can be passed on to another registrar.

• EURid: a name server is not an independent object; it is an attribute of the domain and comes into existence when it is linked to a domain. When it belongs to the same domain

Page 8: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

8

as the one it is linked to, it must be provided with an IP address (a "glue record"). EPP: two ways of working are possible:

• name servers are objects in their own right. If they need glue records

(IP addresses), they must be created before they can be linked to a domain. • name servers are just “attributes” of domain name registration. This

corresponds to the way EURid works.

• EURid: has objects called name server groups, which are sets of name servers.

EPP: this type is unknown to EPP.

Data differences

The following tables will give an idea of the data differences that exist between the EPP draft and the EURid implementation. More detailed information can be found in the description of each command.

DOMAIN object

EURid EPP

Field Length Length Remarks

Domain 2-63 1-255 No change in schema but the back-end application returns an error when the name is longer then 63. (1)

ns (hostName) 4-100 1-255 No change in the format but software returns an error when shorter than 4 and longer than 100.

ns (hostAddr) 15 3-45 The backend will only accept valid IP addresses for the glue records.

Nsgroup 1-50 NA

(1) The standard protocol allows a name of max length 255. This is because some registries make registrations at the 3rd level and for different top level domains. Because of this, it must be possible to enter a name longer than the allowed 63 characters.

CONTACT object

EURid EPP

Field Length Length Remarks

Name 50 1-255 ATTENTION: The “name” field is limited to 50 characters.

Language 2 NA

Standard language codes: "bg"|"cs"|"da"|"de"|"el"|"en"|"es"|"et"|

"fi"|"fr"|"ga"|"hu"|"it"|"lt"|"lv"|"mt"|"nl"|"pl"| "pt"|"ro"|"sk"|"sl"|"sv"

Org 100 0-255 ATTENTION: The “org” field is limited to 100 characters.

Street 255 1-255

Page 9: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

9

Pc 16 1-16

City 255 1-255

Sp 255 1-255

country 2 2

phone 17 0-17

fax 17 0-17

email 255 min 1

vat 20 NA Defined as an extension.

Transactions

The following table shows commands that have been added in the EURid system:

EURid Purpose

<undelete> domain Remove a scheduled delete of a domain name.

<reactivate> domain Restore a domain name in the same situation as before it was deleted.

<trade> domain Transfer a domain from one registrant to another.

<transferq> domain Transfer a domain that has been deleted and still is in quarantine, to another registrar.

<checkContactForTransfer> domain Determine which transaction type (a trade or a transfer) is the most appropriate to use for a given domain name.

<transferRemind> domain Send reminder email to current or future registrant in case of a pending trade or transfer.

<apply> domain Apply for a domain during sunrise.

<apply-info> domain Get information about a Sunrise application.

<create> nsgroup Create a name server group.

<update> nsgroup Update a name server group.

<delete> nsgroup Delete a name server group.

<check> nsgroup Check a name server group.

<info> nsgroup Get info on a name server group.

<info> registrar Obtain registrar account information.

<create> keygroup Create a keygroup.

<update> keygroup Update a keygroup.

<delete> keygroup Delete a keygroup.

<check> keygroup Check a keygroup.

<info> keygroup Get information on a keygroup.

EPP commands, that are not implemented in the EURid system:

EPP-command(s) Remarks

renew NOT AVAILABLE. Renewals are automatic at the end of each domain name year unless the domain name is removed from the database.

transfer approve NOT IMPLEMENTED. The mechanism of the transfer of a domain name from one registrar to another requires the explicit approval of the domain name

Page 10: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

10

holder.

transfer reject NOT IMPLEMENTED. See previous item.

transfer query NOT IMPLEMENTED. See previous item.

Transport and security

EPP is intended for use in diverse operating environments where transport and security requirements vary greatly. However, EURid is providing EPP only on a Secure Socket Layer (SSL) mechanism over standard TCP/IP sockets.

EPP security considerations are resolved by the transport layer and are beyond the scope of this document.

EURid uses EPP only in synchronous mode: a response to a command must be received by the client before sending another command (the EPP standard however, allows synchronous as well as asynchronous mode).

The EPP protocol can be layered over multiple transport protocols. EURid will only provide a connection-oriented EPP service.

We use EPP only in a connection-oriented mode. A connection-less mode can be simulated by sending a login/command/logout combination in one set; but this is not the normal way to proceed. There is no actual timeout on the connection open time by clients. A client can keep one, and maximum two, connection(s) open for EPP usage with EURid. An EPP session requires the connection between two peers as described in the standard.

Number of parallel connections

Starting with release 5.3, the number of simultaneously open connections per registrar account has been raised to four (4). Attempting to open a third connection will close the eldest connection (i.e. the connection that was established in the first place).

Versions & ports

The EPP standard protocol stipulates that the version field (as returned by the greeting and required by the login command) should be '1.0'.

The EURid implementation will not use the official system port (700) but it will use 33128.

New versions of the EURid implementation, offering new functionality, can co-exist for a (defined) period of time. Version management will be done via the <extURI> element of the <svcExtension> element.

The most recent version of the EURid EPP implementation can be found in the epp response when connecting to the EPP server.

Registrars can now optionally specify a version when using the commands info-contact, info-domain and check-domain. By default, the commands currently use the old versions (1.0). The new version (2.0) returns additional information. Please see the XML-examples further on in this document for more information.

Page 11: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

11

EPP commands

EPP commands fall into three categories:

• session management: is used to establish and end persistent sessions with the EPP server

• query: is used to perform read-only information retrieval

• transform: is used to perform read-write transactional object management operations

XML

XML is case sensitive. Unless stated otherwise, XML specifications and examples provided in this document must be interpreted in the character case presented.

All XML instances must begin with 4 bytes (in Network order/BigEndian format) indicating the total message size (including the 4 bytes), followed by <?xml?> declaration using a recognized character set (UTF-8, ASCII-7 or ISO-8859-1), with an XML version of 1.0. All EPP commands are enclosed within an <epp> … </epp> XML block:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp- 1.0.xsd"> <command> . . . </epp>

Page 12: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

12

Becomes as shown here in a hex dump:

In this dump it is assumed that the above EPP message is 1034 bytes long: 1034+4 = 1038 = 0x040e (HEX format).

The server will parse incoming XML messages on the socket by reading 4 bytes, and then by reading a block of the size indicated by the 4 bytes, minus 4. This message is processed and the response is sent back on the socket (also preceded by a 4 byte number in Network order) before the next message can be processed.

Our implementation of the EPP XML server uses a parsing mechanism that conforms to the XML schema specification. A client who wants to design an EPP client implementation should obtain from EURid the EPP XML schema (.xsd files) used to validate all XML messages sent to the server for conformance with the EURid EPP implementation. These files can be found in the “Downloads” section of the Registrar Extranet on www.registry.eu.

All client XML EPP messages sent to the EURid EPP server should have been validated against the latest XML EPP schema provided by EURid prior to their use.

Please note that when you are working with the IDN domain names or IDN name servers then the number of characters may not equal the number of bytes.

Page 13: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

13

Command format

Client EPP command

A generic EPP client command is formed as below (we will show client documents with a light blue background), without the preceding 4 bytes.

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp- 1.0.xsd"> <command> <someaction> ... </someaction> <extension> ... </extension> <clTRID>abc-59687456</clTRID> </command> </epp>

• <command> Contains the whole EPP command block.

• <someaction> To be replaced by one of the allowed commands, i.e. defined in the schema (commands: <login>, <check>...). It defines the current action to perform. Actions are described in the following sections.

• <extension> Defines a set of EURid specific extensions for each command. Some of them are mandatory.

• <clTRID> (Client transaction identifier) uniquely identifies the command to the client. This ID is chosen by the client and needs to be unique only within the client's scope. See the official EPP specification for constraints about this ID. The EPP server does not process or use this ID, it is only returned as-is to the client in the response.

Page 14: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

14

Server EPP response

A generic EPP server response is formed as follows (we will show all server response documents on a light red background), without the preceding 4 bytes:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> <value> ... </value> </result> <resData> ... </resData> <extension> ... </extension> <trID> <clTRID>abc-59687456</clTRID> <svTRID>eurideu-232398</svTRID> </trID>

</response> </epp>

• <response> Contains the whole server response block.

• <result> Contains the result code, message and service-specific values for the command.

• <msg> Contains the EPP message text for the corresponding reply code. There is a one to one mapping between error code and error messages.

• <value> Contains context-specific value for more informative reference, such as XML parsing error column, line and message, specific transaction-processing error... See each specific command for more information on the content of the value field.

• <resData> Contains object-specific data related to the object and command in process, such as a newly created ID, information data etc.

• <extension> Contains EURid specific response extension.

• <trID> Is composed of 2 blocks defining together a unique transaction identifier.

• <clTRID> Is the clTRID of the client command processed.

• <svTRID> Is the server-unique ID of the command processed. Please note that only transform-type commands have a unique ID. All other commands have a server ID of eurid-0. The server ID is constructed by appending a unique numeric ID to the characters 'eurid-' (eg. 'eurid-45235').

Page 15: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

15

Object extension

EPP provides an extensible object management framework that defines the syntax and semantics of protocol operations applied to a managed object. This framework delegates the definition of each operation into the context of the specific object.

Protocol elements that contain data specific to objects are identified using XML namespaces with a reference to an XML schema that defines the namespace. The schema for EPP supports use of dynamic object schemas on a per-command and per-response basis. For example (replacing <eppcmd> by a specific EPP command):

<eppcmd> <object:eppcmd xmlns:object="http://www.eurid.eu/xml/epp/object- 1.0" xsi:schemaLocation="http://www.eurid.eu/xml/epp/object-1.0 object-1.0.xsd"> ... </object:eppcmd> </eppcmd>

An object-specific response element would be described similarly:

<resData> <object:resData xmlns:object="http://www.eurid.eu/xml/epp/object-1.0" xsi:schemaLocation="http://www.eurid.eu/xml/epp/object-1.0 object- 1.0.xsd"> ... </object:resData> </resData>

Instead of referring to a specific namespace at the object level, it is also possible to refer to that namespace at the highest level, making the document much more readable (from a human point of view).

To illustrate this, look at the next example. The first part shows the document with a namespace reference on the element <check>:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=> <command> <check> <domain:check xmlns:domain="http://www.eurid.eu/xml/epp/domain- 1.0"xsi:schemaLocation="http://www.eurid.eu/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>semaphore.eu</domain:name> <domain:name>gloubiboulga.eu</domain:name> <domain:name>secureshopping.eu</domain:name> </domain:check> </check> <clTRID>abc-596856</clTRID> </command> </epp>

Page 16: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

16

The second part shows the same document with the namespace definition on the <epp> element. This will make the namespace global instead of local within the element on which it was used. The advantage however is a much more readable document:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:epp="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0" xmlns:nsgroup="http://www. eurid.eu/xml/epp/nsgroup-1.0" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp- 1.0.xsd http://www.eurid.eu/xml/epp/domain-1.0 domain-1.0.xsd urn:ietf:params:xml:ns:eppcom-1.0 eppcom-1.0.xsd http://www.eurid.eu/xml/epp/contact-1.0 contact-1.0.xsd http://www.eurid.eu/xml/epp/eurid-1.0 eurid-1.0.xsd http://www.eurid.eu/xml/epp/nsgroup-1.0 nsgroup-1.0.xsd"> <command> <check> <domain:check> <domain:name>semaphore.eu</domain:name> <domain:name>gloubiboulga.eu</domain:name> <domain:name>secureshopping.eu</domain:name> </domain:check> </check> <clTRID>abc-596856</clTRID> </command> </epp>

All EURid specific modifications to the standard schemas are marked by “START/END MODIF EURid” markers.

Page 17: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

17

EPP objects used within EURid are:

epp: namespace: http://www.eurid.eu/xml/epp/epp-1.0 schema: epp-1.0.xsd (generic document, containing the root element: <epp>)

eppcom: namespace: urn:ietf:params:xml:ns:eppcom-1.0 schema: eppcom-1.0.xsd (generic data definitions)

euridcom:

namespace: http://www.eurid.eu/xml/epp/euridcom-1.0

schema: euridcom -1.0.xsd

(EURid specific data definitions)

domain: namespace: http://www.eurid.eu/xml/epp/domain-1.0 schema: domain-1.0.xsd (domain specific commands)

contact: namespace: http://www.eurid.eu/xml/epp/contact-1.0 schema: contact-1.0.xsd (contact specific commands)

host: namespace: http://www.eurid.eu/xml/epp/host-1.0 schema: host-1.0.xsd (name server specific definitions)

nsgroup: namespace: http://www.eurid.eu/xml/epp/nsgroup-1.0 schema: nsgroup-1.0.xsd (added to handle name server groups)

registrar:

namespace: http://www.eurid.eu/xml/epp/registrar-1.0 schema: registrar-1.0.xsd (registrar specific commands)

Page 18: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

18

All EURid specific extensions to EPP (<extension> block):

namespace: http://www.eurid.eu/xml/epp/eurid-1.0 schema: eurid-1.0.xsd

For a complete reference of the standard syntax, we refer to the internet draft documents that explain in detail the valid content of a document:

• http://www.ietf.org/rfc/rfc4930.txt

• http://www.ietf.org/rfc/rfc3730.txt

• http://www.ietf.org/rfc/rfc3731.txt

• http://www.ietf.org/rfc/rfc3732.txt

• http://www.ietf.org/rfc/rfc3733.txt

• http://www.ietf.org/rfc/rfc3734.txt

• http://www.ietf.org/rfc/rfc3735.txt

EURid ignores schema references in a XML document and validates these documents against a fixed set of schemas as listed above. Furthermore, in the current version, all namespaces must have a predefined prefix.

Namespace Namespace prefix

http://www.eurid.eu/xml/epp/epp-1.0 epp epp

urn:ietf:params:xml:ns:eppcom-1.0 eppcom eppcom

http://www.eurid.eu/xml/epp/euridcom-1.0 euridcom

http://www.eurid.eu/xml/epp/contact-1.0 contact contact

http://www.eurid.eu/xml/epp/domain-1.0 domain domain

http://www.eurid.eu/xml/epp/host-1.0 host host

http://www.eurid.eu/xml/epp/eurid-1.0 eurid eurid

http://www. eurid.eu/xml/epp/nsgroup-1.0 nsgroup nsgroup

http://www.eurid.eu/xml/epp/registrar-1.0 registrar

http://www.eurid.eu/xml/epp/keygroup-1.0 keygroup

Page 19: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

19

DESCRIPTION OF THE TRANSACTIONS

The rest of this document gives an overview of the different XML documents that can be exchanged between the client and the server.

Per transaction, you will find a structured overview of that part of the EPP standard that is used by EURid in support of the model as it is described above.

You will also find an indication of the differences between the standard and the modifications that have been made to accommodate the .eu specific context.

The occurrence reflects the number of times that the element (tags) can occur in the document:

• 1 = only once but is required

• 0-1 = zero or once, therefore the element is optional

• 1-* = at least once but as many times as needed/wanted

For the description of the data format, we have used the XML-terminology of which we repeat the most important:

• string = any text, can contain newlines, tabs, etc ..

• normalizedString = newline, tab and CR are replaced by a "space"

• token = normalizedString with all consecutive spaces replaced by 1 space

• date = CCYY-MM-DD

• dateTime = CCYY-MM-DDThh:mm:ss.sss (mind the "T" between the date and the time)

Page 20: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

20

Hello / Greeting

PURPOSE: To obtain information from the EPP server that will handle your requests.

A client can request a <greeting> from the EPP server by sending a <hello> command at any time:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <hello/> </epp>

The <hello> element does not contain anything. The server will also send a greeting upon establishment of the connection/session.

An EPP server responds to an <hello> command by returning a <greeting>:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <greeting> <svID>eurid.eu</svID> <svDate>2006-03-21T09:50:21.836Z</svDate> <svcMenu> <version>1.0</version> <lang>en</lang> <objURI>http://www.eurid.eu/xml/epp/contact-1.0</objURI> <objURI>http://www.eurid.eu/xml/epp/domain-1.0</objURI> <svcExtension> <extURI>http://www.eurid.eu/xml/epp/nsgroup-1.0</extURI> <extURI>http://www.eurid.eu/xml/epp/build/20051003</extURI> </svcExtension> </svcMenu> <dcp> <access> <all/> </access> <statement> <purpose> <admin/> <prov/> </purpose> <recipient> <ours/> <public/> </recipient> <retention> <stated/> </retention> </statement> </dcp> </greeting> </epp>

Page 21: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

21

• <svID> Contains the name of the server (eurid.eu).

• <svDate> Contains the server current date and time in UTC. Please be aware that dates in EPP are returned in UTC while scheduled operations will be performed in Belgian time (CET/CEST).

• <svcMenu> Contains the services supported by the server.

• <version> Contains the EPP version currently supported (1.0).

• <lang> Contains the text response language currently supported, as defined in [RFC3066]. Only "en" (English) is available for the time being.

• <objURI> Contains the list of namespace URIs representing the objects that the server is capable of managing: contacts, domains.

• <svcExtension><extURI> Contains the list of namespace URIs representing extended objects that the server is capable of managing: nsgroups.

• <dcp> Contains info related to privacy policies.

One entry is special (http://www. eurid.eu/xml/epp/build/20051012) and specifies the current build of the server.

Page 22: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

22

Login

PURPOSE: Is used to authenticate the client/user to the EPP server. It must be sent before any other command (except <hello>).

This command is used to establish the registrar credentials. The userid and EPP password will be used to authenticate the party that wants to set up the session.

The login document is composed of the following components (only the begin tags are shown, each block should be ended by its corresponding end tag “</tag>”:

TAG Occurrence min-max

Size + remarks

<epp>

<command> 1

<login> 1

<clID> 1 token: 3-16

<pw> 1 token: 6-16

<newPW> 0-1 token: 6-16

<options> 1

<version> 1 reg exp: [1-9]+\.[0-9]+

<lang> 1 language (XML built-in)

<svcs> 1

<objURI> 1-* any URI

<svcExtension> 0-1 any URI

<extURI> 0-* any URI

<clTRID> 0-1 token: 3-64

(*) the min-max occurrences determine how many times this element (with tags) can occur in the xlm document (command), in case the minimum is 0, you can leave this element out of the document.

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <clID> Contains the registrar ID of the connecting client.

• <pw> Contains the EPP password of the connecting client (registrar). This is the password that you have to provide when you activate your account at the start of your contract.

• <version> Contains the EPP version the client supports (1.0). This will be used for versioning (on EPP standard level) in the future.

• <lang> Contains the preferred language of the client for this connection (actually ignored by EURid). Both <version> and <lang> must match one of the server proposition(s).

• <svcs> Contains a list of <objURI> and <extURI> the client wants to use with the EPP server during this connection. One <extURI> has a special meaning (and is mandatory), it is used to indicate the desired “build” number of the server. This number corresponds to a certain release of the software that adheres to a certain version of the EPP draft documents and a certain set of Eurid specific functionality.

• Each transaction can be completed with a user provided transaction ID that can be used to identify a transaction.

Page 23: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

23

Example:

A valid command looks like:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <command> <login> <clID>registrarid</clID> <pw>pw-azxusTd</pw> <options> <version>1.0</version> <lang>en</lang> </options> <svcs> <objURI>http://www.eurid.eu/xml/epp/contact-1.0</objURI> <svcExtension> <extURI>http://www.eurid.eu/xml/epp/build/20051012</extURI> </svcExtension> </svcs> </login> </command> </epp>

An EPP connection is kept open by the server between a <login> and a <logout> command from the client, using the same socket connection. The EPP connection is closed without logout if the client closes the socket. However, to ensure responsible behaviour, a client should disconnect the SSL socket only after the EPP <logout> command.

The server responds to a <login> command with a result code of 1000 ("Command completed successfully") or 2200 ("Authentication error"):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>login succeeded</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 24: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

24

Logout

PURPOSE: The EPP <logout> command is used to close a session with the EPP server.

The transport connection (SSL socket) is closed by the server after the emission of the <logout> response. The <logout> is a very easy command and does not take any other elements or attributes:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <command> <logout/> <clTRID>logout-00</clTRID> </command> </epp>

The server responds with a result code of 1500 ("Command completed successfully; ending session"):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1500"> <msg>Command completed successfully; ending session</msg> </result> <trID> <clTRID>logout-00</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 25: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

25

Create contact

PURPOSE: To create a registrar contact (types: billing, technical), a registrant or onsite contact.

All EPP contact objects are identified by a server-unique identifier. Contact identifiers start with a “c” followed by a unique numeric ID. The EPP “contact create” command allows the client to send a requested ID for the new contact, but this field is ignored (as allowed by EPP) by the server and a newly-created ID is returned instead in the server response. EURid has modified the schema to make this ID optional.

Every contact has associated postal address information. EURid stores postal information in a less restrictive way, to accommodate for the many different formats in the world. It is the responsibility of the registrar to provide an address in a readable format.

For a list of all allowed characters in the <name>, <org> and <addr> fields, please consult the document “Characters allowed in Name, Organisation and Address fields” published in the “Downloads” section of the Registrar Extranet on www.registry.eu.

EPP does not enforce a specific role for each contact. It acquires its type from its usage. The same contact object can be used in different roles. EURid requires that you define a role for a contact upon its creation. A contact can only be used in the role it was created for: each link between a domain and a contact should follow that role. For example, you cannot link a contact of type "tech" to a domain as a "billing", you MUST use it as a "tech". If you want to use the same person for different roles, you will need to create a new contact for each of them. The roles that exist are described below.

The structure used by EURid contains the following elements:

TAG Occurrences min-max (*)

Size + remarks

<epp> 1

<command> 1

<create> 1

<id> 1 token: 3-16

ignored by the software

<postalInfo> 1-2 Required attribute type =”loc”|“int”.

Although the schema is not modified by EURid, the application will only accept type ”loc”. Only 1 block is accepted (although the schema allows for 2).

<name> 1 normalizedString 1-50

<org> 0-1 normalizedString 0-100; is required for a contact of type “tech” and “billing”.

<addr> 1

<street> 0-3 normalizedString 0-255

<city> 1 normalizedString 1-255

<sp> 0-1 normalizedString 0-255

<pc> 0-1 token: 0-16; is required by EURid.

<cc> 1 token: 2 (must be uppercase); see list of possible values in appendix.

Page 26: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

26

<voice> 0-1 token: (\+[0-9]{1,3}\.[0-9]{1,14})?

max length: 17 (=intl. tel nbr code)

optional attrib: x= (token)

This field is required by EURid.

<fax> 0-1 token: (\+[0-9]{1,3}\.[0-9]{1,14})?

max length: 17 (=intl. tel nbr code)

This field is required for “tech” and “billing” contacts.

<email> 1 token

<authInfo> 1 optional attrib: roid= token

(\w|_){1,80}-\w{1,8}

<pw> 1 Is not used by EURid. As it is a required element in the schema, it must be provided; however, you do not have to specify a value between the tags.

<ext> 1 Not used.

<extension> 0-1 Contains EURID specific elements; must always be present as the type is required.

<ext> 1

<create> 1

<contact> 1

<type> 1 "billing"|"tech"|"registrant"|"onsite"

<vat> 0-1 token: 1-20

<lang> 0-1 "bg"|"cs"|"da"|"de"|"el"|"en"|"es"|"et"|"fi"|

"fr"|"ga"|"hu"|"it"|"lt"|"lv"|"mt"|"nl"|"pl"|"pt"|"ro"|"sk"|"sl"|"sv"; although optional in the schema the back-end will return an error if this element is omitted.

<clTRID> 0-1 token: 3-64

(*) the min-max occurrences determine how many times this element (with tags) can occur in the xlm document (command), in case the minimum is 0, you can leave this element out of the document.

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <id> According to the EPP standard, this field contains the (proposed) ID for the contact. It is ignored by EURid, since we always create a unique contact ID as “C” + an unique number.

• <postalInfoType> This contains the address information of this contact; the schema allows it to occur twice (e.g. with a local address or an international address); EURid only accepts the type “loc” with UTF-8 character set (containing non-ascii characters); if “int” is specified as a type, this will be rejected as a policy error. Only 1 postalInfoType block is accepted.

• <name> Contains the complete name of the contact to create. The first and the last name should be put in that field. It is a good practice to start with the last name, followed by the first name because in the web interface contacts are ordered by name. This field is limited to 50 characters. Trying to register a contact using more than 50 characters in the “name” field will result in an error message.

• <org> Contains the company name of the contact. If the eurid:type is “registrant” or “onsite”, no “contact:org” is required. However if the eurid:type is “tech” or “billing” a

Page 27: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

27

“contact:org” is mandatory. This field is limited to 100 characters. Trying to register a contact using more than 100 characters in the “org” field will result in an error message. In the web interface there are two fields for the company name, in case it would be needed. This is not used by EPP.

• <street> You can provide up to 3 instances of this element. It contains the postal street information of the contact. It should contain information in such a way that it should look like a correct address when printed on a letter as: COMPANY NAME (CONTACT) NAME STREET(1) STREET(2) STREET(3) PC CITY, SP

• <city> Contains the city of the contact.

• <sp> Contains the state or province of the contact.

• <pc> Contains the postal code of the contact. This field can be up to 16 characters.

• <cc> Contains the two-letters country code of the contact to create, as defined in [ISO3166]. For registrants, only country codes from countries belonging to the EU are accepted as required by the regulation 874/2004. Accepted ISO codes can be found in Addendum 1.

• <voice> Contains the telephone number of the contact that is being created. A phone number is a string that must begin with a plus sign ("+"), followed by a country code, followed by a dot ("."), followed by a sequence of digits representing the telephone number. An optional "x" attribute is provided to note the telephone extension (but this attribute is ignored by EURid).

• <fax> Contains the facsimile number of the contact. The syntax is the same as for telephone but without the extension attribute.

• <email> Email address syntax is defined in [RFC2822].

• <authInfo> Is ignored by EURid.

• <disclose>: There is an additional (optional) element in the schema that contains postal information that can be disclosed. This is not used by EURid and therefore this group is not shown in the table.

• EURid EXTENSIONS:

• <eurid:type> Contains the type of contact to create. Can be one of: “registrant”, “billing”, “onsite”, “tech”.

o registrant: Must be specified to represent the domain name holder. o billing: The billing contact: this one is required when you want to register a

domain name. It is the person to whom the invoices are sent, the language of the invoices is currently English only. Exactly 1 billing contact can be created per registrar.

o onsite or tech: Is a technical contact: at least 1 technical contact must be associated to each domain name. This is the person to contact in case of a technical problem. When the technical contact is from the organisation of the registrant or from a third party (like an intermediate website builder), you should choose the label “onsite”. The creation of onsite contacts is not limited. In case the registrant does not have any technical knowledge, you can link a domain name to a technical contact of your own organisation (the registrar). To define such a contact, you need to specify “tech” as the type. Each registrar can create up to ten technical contacts.

• <eurid:vat> Contains the VAT of the contact. This tag is optional.

Page 28: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

28

• <eurid:lang> Contains the preferred language of the holder of the domain name. This must be the language of the registration agreement with the registrar and is also the language for ADR proceedings (except for ADRs against the registry). This language is independent from the language selection done during the EPP client/server login. Although it is not a required field in the schema, as a EURid policy, it must be provided and only a language from the list (see addendum II) will be accepted.

Examples:

Example 1: Creating a new contact:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <create> <contact:create> <contact:id>abc1</contact:id> <contact:postalInfo type="loc"> <contact:name>Smith Bill</contact:name> <contact:org>EPP Company</contact:org> <contact:addr> <contact:street>Blue Tower</contact:street> <contact:street>Main street, 58</contact:street> <contact:city>Paris</contact:city> <contact:pc>571234</contact:pc> <contact:cc>FR</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+33.16345656</contact:voice> <contact:fax>+33.16345656</contact:fax> <contact:email>[email protected]</contact:email> <contact:authInfo> <contact:pw></contact:pw> </contact:authInfo> </contact:create> </create> <extension> <eurid:ext> <eurid:create> <eurid:contact> <eurid:type>registrant</eurid:type> <eurid:vat>FR3455345645</eurid:vat> <eurid:lang>fr</eurid:lang> </eurid:contact> </eurid:create> </eurid:ext> </extension> <clTRID>TRID-0001</clTRID> </command> </epp>

Page 29: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

29

The EPP server responds with a message containing the newly created ID and the creation date for a successful object creation:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <contact:creData> <contact:id>c1006441</contact:id> <contact:crDate>2006-03-21T10:02:45.514Z</contact:crDate> </contact:creData> </resData> <extension> <eurid:ext> <eurid:result> <eurid:msg>OK</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>TRID-0001</clTRID> <svTRID>eurid-5418120</svTRID> </trID> </response> </epp>

• <contact:id> Is the newly created ID assigned to this contact: c1006441.

• <contact:crDate> Is the creation date in UTC format. Please be aware that dates in EPP are returned in UTC while scheduled operations will be performed in Belgian time (CET/CEST).

• <clTRID> This element copies the transaction ID that was specified by the registrar in the command. This way, it is possible to automatically interpret the answer and link it to the command that was sent.

Example 2: A second example, leaving out all the optional information:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <create> <contact:create> <contact:id>abc1</contact:id> <contact:postalInfo type="loc"> <contact:name>Banderas George</contact:name> <contact:addr> <contact:street>Yellow Tower</contact:street> <contact:street>Main street, 85</contact:street> <contact:city>Brussels</contact:city> <contact:pc>1000</contact:pc> <contact:cc>BE</contact:cc>

Page 30: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

30

</contact:addr> </contact:postalInfo> <contact:voice>+32.16345656</contact:voice> <contact:fax>+32.16345656</contact:fax> <contact:email>[email protected]</contact:email> <contact:authInfo> <contact:pw></contact:pw> </contact:authInfo> </contact:create> </create> <extension> <eurid:ext> <eurid:create> <eurid:contact> <eurid:type>registrant</eurid:type> <eurid:lang>en</eurid:lang> </eurid:contact> </eurid:create> </eurid:ext> </extension> <clTRID>TRID-0002</clTRID> </command> </epp>

Giving as a return message:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <contact:creData> <contact:id>c1006448</contact:id> <contact:crDate>2006-03-21T10:03:45.086Z</contact:crDate> </contact:creData> </resData> <extension> <eurid:ext> <eurid:result> <eurid:msg>OK</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>TRID-0001</clTRID> <svTRID>eurid-5418133</svTRID> </trID> </response> </epp>

Page 31: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

31

Example 3: A third example containing a parsing error: When we remove the required <pw></pw> tags from the xml document (under the <authInfo> parent), we get an error message from the xml parser:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0">

<command> <create> <contact:create> <contact:id>abc1</contact:id> <contact:postalInfo type="loc"> <contact:name>Davenport Lindsay</contact:name> <contact:addr> <contact:street>Yellow Tower</contact:street> <contact:street>Main street, 85</contact:street> <contact:city>Brussels</contact:city> <contact:pc>1000</contact:pc> <contact:cc>BE</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+32.16345656</contact:voice> <contact:fax>+32.16345656</contact:fax> <contact:email>[email protected]</contact:email> <contact:authInfo> </contact:authInfo> </contact:create> </create> <extension> <eurid:ext> <eurid:create> <eurid:contact> <eurid:type>registrant</eurid:type> <eurid:lang>en</eurid:lang> </eurid:contact> </eurid:create> </eurid:ext> </extension> <clTRID>TRID-0002</clTRID> </command> </epp>

Page 32: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

32

Giving as a return message:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2001"> <msg>Command syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>line:27: Expected elements 'pw@http://www.eurid.eu/xml/epp/contact-1.0 ext@http://www.eurid.eu/xml/epp/contact-1.0' before the end of the content in element authInfo@http://www.eurid.eu/xml/epp/contact-1.0</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>TRID-0002</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Example 4: This example shows a correct xml document, containing a policy error (i.e. giving an error message generated by the back-end application). We will enter an email address without the “@” sign:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0">

<command> <create> <contact:create> <contact:id>abc1</contact:id> <contact:postalInfo type="loc"> <contact:name>Davenport Lindsay</contact:name> <contact:org>EPP Company</contact:org> <contact:addr> <contact:street>Roland Garros</contact:street> <contact:street>Bvd Charles De Gaule</contact:street> <contact:city>Paris</contact:city> <contact:pc>571234</contact:pc> <contact:cc>FR</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+33.16345656</contact:voice> <contact:fax>+33.16345656</contact:fax> <contact:email>noreplyeurid.eu</contact:email> <contact:authInfo> <contact:pw></contact:pw> </contact:authInfo> </contact:create> </create> <extension> <eurid:ext>

Page 33: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

33

<eurid:create> <eurid:contact> <eurid:type>registrant</eurid:type> <eurid:vat>FR3455345645</eurid:vat> <eurid:lang>fr</eurid:lang> </eurid:contact> </eurid:create> </eurid:ext> </extension> <clTRID>TRID-0005</clTRID> </command> </epp>

We will get the following return message:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Syntax error: Invalid emailaddress for CONTACT-EMAIL</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>TRID-0005</clTRID> <svTRID>eurid-5418137</svTRID> </trID> </response> </epp>

Example 5: We try to create a new registrant handle using more than the allowed 100 characters in the “org” field:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <create> <contact:create> <contact:id>you_choose_it</contact:id> <contact:postalInfo type="loc"> <contact:name>Roland Garros</contact:name> <contact:org>EPP Company EPP Company EPP Company EPP Company EPP Company EPP Company EPP Company EPP Company EPP Company</contact:org> <contact:addr> <contact:street>Test street 78</contact:street> <contact:city>Brussels</contact:city> <contact:pc>1000</contact:pc> <contact:cc>BE</contact:cc> </contact:addr> </contact:postalInfo>

Page 34: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

34

<contact:voice>+32.111111</contact:voice> <contact:fax>+32.2222222</contact:fax> <contact:email>[email protected]</contact:email> <contact:authInfo> <contact:pw></contact:pw> </contact:authInfo> </contact:create> </create> <extension> <eurid:ext> <eurid:create> <eurid:contact> <eurid:type>registrant</eurid:type> <eurid:vat>1212121212</eurid:vat> <eurid:lang>en</eurid:lang> </eurid:contact> </eurid:create> </eurid:ext> </extension> <clTRID>create-contact-00</clTRID> </command> </epp>

The server will reply with the following error message:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Invalid value for organisation (value too long)</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>create-contact-00</clTRID> <svTRID>eurid-35696802</svTRID> </trID> </response> </epp>

Page 35: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

35

Update contact

PURPOSE: An EPP contact <update> command provides a transform operation that allows a client to modify the attributes of a contact object.

The EPP protocol provides for a granular update, without having to re-specify all unchanged fields (with the exception that for a change in address, the complete <addr> block needs to be specified). To obtain this, <add>, <chg> or <rem> commands are provided within the major update command.

A restriction exists for updating a registrant contact since the identity of the registrant has to remain the same. This implies that an organisation can’t change the <org> field (but can change its <name>), and that a private person (without <org> filled in) cannot change his <name>. If you want to change the identity of the registrant contact of a domain you need to initiate the TRADE DOMAIN transaction. When changes to the registrant’s name field (private person or organisation) are necessary and the legal identity of the registrant remains the same, you can also file a request for “monitored update”. Please see the XML-examples “Examples (contact enabled for “monitored update”)” for more information. A detailed manual regarding the monitored update can be found in the “Downloads” section (“Documents” – “Instruction Manuals”) of the Registrar Extranet.

Please be aware that minor corrections of the registrant’s name field are possible: uppercase/lowercase characters can be exchanged and whitespaces, “.” and “-“ can be added or removed. Please note: you cannot add whitespaces, “.” and “-“ to the <org> field if the <org> field was empty prior to the update and you cannot remove them when they are the only entries in that field. For a list of all allowed characters in the <name>, <org> and <addr> fields, please consult the document “Characters allowed in Name, Organisation and Address fields” that has been published in the “Downloads” section of the Registrar Extranet on www.registry.eu. The structure used by EURid contains the following elements:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<update> 1

<id> 1 token: 3-16; this is the contact handle that uniquely identifies a contact.

<chg> 0-1

<postalInfo> 0-2 Required attribute type =”loc”|“int”.

Although the schema is not modified by EURid, the application will only accept type ”loc”. Only 1 block is accepted (although the schema allows for 2).

<name> 0-1 normalizedString 1-50

<org> 0-1 normalizedString 1-100

<addr> 0-1

<street> 1-3 normalizedString 1-255

Page 36: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

36

<city> 1 normalizedString 1-255

<sp> 1 normalizedString 1-255

<pc> 1 token: 1-16

<cc> 1 token: 2

<voice> 0-1 token: (\+[0-9]{1,3}\.[0-9]{1,14})? max length: 17 (=intl. tel nbr code) optional attrib: x= (token)

<fax> 0-1 token: (\+[0-9]{1,3}\.[0-9]{1,14})? max length: 17 (=intl. tel nbr code)

<email> 0-1 token

<extension> 0-1

<ext> 1

<update> 1

<contact> 1

<chg>

<vat> 0-1 token: 1-20

<lang> 0-1 "bg"|"cs"|"da"|"de"|"el"|"en"|"es"|"et"| "fi"|"fr"|"ga"|"hu"|"it"|"lt"|"lv"|"mt"|"nl"|"pl"| "pt"|"ro"|"sk"|"sl"|"sv"

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace to use.

• <add> and <rem> The EPP protocol offers the possibility to add and to remove a status from a contact. This is not used by EURid and as it is an optional element in the schema, it is not shown in the table above, which only shows the elements needed to create a valid document for EURid. If it is provided, it is not taken into account.

• <id> This is the contact handle that uniquely identifies a contact. It is generated by the registration system at creation of the contact and returned in the return message.

• <chg> Is the tag that indicates that (one of) the following elements needs to be updated in the database.

• The various fields, embedded in a <contact:chg> block are the same as for object creation. Please refer to that command for more information. All fields are optional as you only need to specify those that change. Please note: if you want to change a part of the <addr> block, you need to specify the complete block!

• <authInfo> Is not shown in the table. As everything in the <chg> block is optional and as we don’t use <authInfo> we have removed it completely from the table above.

Examples (standard update - contact not enabled for monitored

update):

Example 1: In the first example, we change most of the fields of the registrant c1006441:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0">

<command> <update> <contact:update> <contact:id>c1006441</contact:id>

Page 37: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

37

<contact:chg> <contact:postalInfo type="loc"> <contact:addr> <contact:street>Green Tower</contact:street> <contact:street>City Square</contact:street> <contact:city>London</contact:city> <contact:pc>1111</contact:pc> <contact:cc>GB</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+44.1865332156</contact:voice> <contact:fax>+44.1865332157</contact:fax> <contact:email>[email protected]</contact:email> </contact:chg> </contact:update> </update> <extension> <eurid:ext> <eurid:update> <eurid:contact> <eurid:chg> <eurid:vat>GB12345678</eurid:vat> <eurid:lang>en</eurid:lang> </eurid:chg> </eurid:contact> </eurid:update> </eurid:ext> </extension> <clTRID>TRID-chg-124</clTRID> </command> </epp>

After a successful update, EPP responds with:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>OK</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>TRID-chg-124</clTRID> <svTRID>eurid-5418458</svTRID> </trID> </response> </epp>

Page 38: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

38

Example 2: In a second example we only change the telephone number for the same registrant:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0"> <command> <update> <contact:update> <contact:id>c1006441</contact:id> <contact:chg> <contact:voice>+44.1865332156</contact:voice> </contact:chg> </contact:update> </update> <clTRID>TRID-chg-125</clTRID> </command> </epp>

After a successful update, EPP responds with:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>OK</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>TRID-chg-125</clTRID> <svTRID>eurid-5419007</svTRID> </trID> </response> </epp>

Page 39: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

39

Example 3: In a third example we only change the language code (in which case we only specify the extension part of the xml document):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <update> <contact:update> <contact:id>c1006441</contact:id> </contact:update> </update> <extension> <eurid:ext> <eurid:update> <eurid:contact> <eurid:chg> <eurid:lang>nl</eurid:lang> </eurid:chg> </eurid:contact> </eurid:update> </eurid:ext> </extension> <clTRID>trid-chg-222</clTRID> </command> </epp>

The EPP server replies:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>OK</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>trid-chg-222</clTRID> <svTRID>eurid-5419129</svTRID> </trID> </response> </epp>

Page 40: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

40

Example 4: In a last example we try to blank the <org> field for the same registrant:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0"> <command> <update> <contact:update> <contact:id>c1006441</contact:id> <contact:chg> <contact:postalInfo type="loc"> <contact:org></contact:org> </contact:postalInfo> </contact:chg> </contact:update> </update> <clTRID>TRID-chg-125</clTRID> </command> </epp>

In case this update affects a registrant contact, the EPP server will yield the following result:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2002"> <msg>Command use error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Update of licensee company name is not allowed</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>TRID-chg-125</clTRID> <svTRID>eurid-5419445</svTRID> </trID> </response> </epp>

Page 41: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

41

Examples (contact enabled for “monitored update”):

Below an example of a registrar performing a monitored update on the company name where the contact id is c1487747. The org field will change from “EURid” to “EURid vzw”. All other contact details will remain the same. Please note: Only when the “contact:info” command returns the status “updatable” for a particular contact, you may perform the monitored update by using the EPP command “contact:update”. The correct command to use would then be:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0"> <command> <update> <contact:update> <contact:id>c1487747</contact:id> <contact:chg> <contact:postalInfo type="loc"> <contact:org>EURid vzw</contact:org> </contact:postalInfo> </contact:chg> </contact:update> </update> <clTRID>update-contact-00</clTRID> </command> </epp>

After a successful update, the EPP server responds with:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Monitored Contact 24 for contact c1487747 updated</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>update-contact-00</clTRID> <svTRID>eurid-6880117</svTRID> </trID> </response> </epp>

Page 42: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

42

If the registrar tries to perform a monitored update while the contact is not enabled for this transaction, the server will reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2308"> <msg>Data management policy violation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Update of company name is not allowed</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>update-contact-00</clTRID> <svTRID>eurid-6881483</svTRID> </trID> </response> </epp>

If the registrar tries to perform a monitored update while there is still a request pending which needs to be approved by EURid, the server will reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2308"> <msg>Data management policy violation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Monitored update has already been done</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>update-contact-00</clTRID> <svTRID>eurid-6881470</svTRID> </trID> </response> </epp>

Page 43: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

43

Please note: when a particular contact has been enabled for a monitored update, the update of at least the <org> field (if the registrant is a company) or the <name> field (if the registrant is a private person) is mandatory. If an update command of this contact is performed without change to the <org> or <name> tag, the server will return the following error message:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2308"> <msg>Data management policy violation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Update of company name or private person name is mandatory</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>update-contact-00</clTRID> <svTRID>eurid-6881495</svTRID> </trID> </response> </epp>

Please refer to the document “Monitored update instructions” for more information. It is available in the “Downloads” section (“Documents” – “Instruction Manuals”) of the Registrar Extranet.

Page 44: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

44

Delete contact PURPOSE: An EPP contact <delete> command provides a transform operation that allows a client to delete an existing contact object. The standard protocol for a delete is very simple:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<delete> 1

<id> 1 token: 3-16

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <id> Contains the contact that you want to delete.

• <clTRID> Is the transaction ID that is provided by the registrar for his own reference.

Examples:

Example 1: In a first example we delete the contact “c1006441”:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0"> <command> <delete> <contact:delete> <contact:id>c1006441</contact:id> </contact:delete> </delete> <clTRID>delete-contact-01</clTRID> </command> </epp>

After a successful operation, the EPP server will respond with:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>OK</eurid:msg> </eurid:result> </eurid:ext>

Page 45: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

45

</extension> <trID> <clTRID>delete-contact-01</clTRID> <svTRID>eurid-5419599</svTRID> </trID> </response> </epp>

Example 2: When we try to delete a contact that does not exist:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0"> <command> <delete> <contact:delete> <contact:id>sj5</contact:id> </contact:delete> </delete> <clTRID>delete-contact-02</clTRID> </command> </epp>

The EPP server will respond with:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0"> <response> <result code="2303"> <msg>Object does not exist</msg> <value> <contact:id>c1006441</contact:id> </value> </result> <trID> <clTRID>delete-contact-01</clTRID> <svTRID>eurid-5419613</svTRID> </trID> </response> </epp>

Page 46: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

46

Example 3: When we try to delete a contact that is still linked to a domain name:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0"> <command> <delete> <contact:delete> <contact:id>c981095</contact:id> </contact:delete> </delete> <clTRID>delete-contact-01</clTRID> </command> </epp>

The EPP server will return the following message:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2305"> <msg>Object association prohibits operation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Contact still linked to 1 domain(s)</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>delete-contact-01</clTRID> <svTRID>eurid-5419617</svTRID> </trID> </response> </epp>

Page 47: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

47

Info contact PURPOSE: The EPP <info> command is used to retrieve information associated with a contact object. Registrars can now optionally specify a version when using the command info-contact. By default, the command currently uses the old version (1.0). The new version (2.0) returns additional information in case of a monitored update. The “monitored update” feature introduces the possibility of changing the registrant's name (organisation or private person) without having to perform a trade provided that the registrant remains the same legal entity. Please see the XML-examples for more information. A detailed manual regarding the monitored update can be found in the “Downloads” section (“Documents” – “Instruction Manuals”) of the Registrar Extranet. The EPP document structure is composed of the following elements:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<info> 1

<id> 1 token: 3-16

<extension> 0-1

<ext> 1

<info> 1

<contact> 1 attrib: version="1.0"|"2.0"

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <id> Contains the contact for which you want to obtain the information.

• <clTRID> Is the transaction ID that is provided by the registrar for his own reference.

• <eurid:contact version="2.0"/>: The version “2.0” can be specified to access additional information.

Example version 1.0:

A valid document for information about the contact c1006449 would therefore be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0"> <command> <info> <contact:info> <contact:id>c1006449</contact:id> </contact:info> </info> <clTRID>info-2222</clTRID> </command> </epp>

Page 48: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

48

If the contact exists (and belongs to the registrar) the EPP server responds with the contact information:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <contact:infData> <contact:id>c1006449</contact:id> <contact:roid>1006449-EURID</contact:roid> <contact:status s="ok"/> <contact:postalInfo type="loc"> <contact:name>Smith Bill</contact:name> <contact:org>EPP Company</contact:org> <contact:addr> <contact:street>Blue Tower</contact:street> <contact:street>Main street, 58</contact:street> <contact:city>Paris</contact:city> <contact:pc>571234</contact:pc> <contact:cc>FR</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+33.16345656</contact:voice> <contact:fax>+33.16345656</contact:fax> <contact:email>[email protected]</contact:email> <contact:clID>a000005</contact:clID> <contact:crID>a000005</contact:crID> <contact:crDate>2006-03-21T10:04:54.000Z</contact:crDate> <contact:upDate>2006-03-21T10:04:54.000Z</contact:upDate> </contact:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:contact> <eurid:type>registrant</eurid:type> <eurid:vat>FR3455345645</eurid:vat> <eurid:lang>fr</eurid:lang> </eurid:contact> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>info-2222</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 49: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

49

• <contact:roid> Contains the Repository Object IDentifier assigned to the contact object when the contact was created. This information can be discarded.

• <contact:status> Contains the status associated with the object. Currently only the "ok" status is supported.

• <contact:clID> Contains the identifier of the current "sponsoring client" i.e. the EURid id.

• <contact:crID> Contains the identifier of the client and subsystem that created the object. For EURid, this contains the same registrar ID as the previous one, since an object belongs to a registrar and cannot be transferred or used by another registrar.

• <contact:crDate> Contains the creation date and time. Please be aware that dates in EPP are returned in UTC while scheduled operations will be performed in Belgian time (CET/CEST).

• <contact:upDate> Contains the last update date and time in UTC.

• <clTRID> Contains the transaction ID (for tracking the command) that was provided by the registrar in the incoming command.

• <svTRID> Contains a server generated transaction ID.

Example version 2.0:

The correct command for obtaining information about the status of the monitored update of the contact c1573194 would therefore be: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0"

xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <info> <contact:info> <contact:id>c1573194</contact:id> </contact:info> </info> <extension> <eurid:ext> eurid:info> <eurid:contact version="2.0"/> </eurid:info> </eurid:ext> </extension> <clTRID>info-contact-00</clTRID> </command> </epp>

Aside from the contact information about the queried contact, the reply will now also contain information about the status of the monitored update.

Page 50: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

50

Below an example using contact id = c1573194. In this case the contact has been enabled for a monitored update. The <eurid:monitoringStatus> tag therefore has a status of “updatable”:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <contact:infData> <contact:id>c1573194</contact:id> <contact:roid>1573194-EURID</contact:roid> <contact:status s="ok"/> <contact:postalInfo type="loc"> <contact:name>Klaus Example</contact:name> <contact:org>Example Company</contact:org> <contact:addr> <contact:street>Kingstreet 88</contact:street> <contact:street>bus 5</contact:street> <contact:city>Brussels</contact:city> <contact:pc>1000</contact:pc> <contact:cc>BE</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+32.111111111</contact:voice> <contact:fax>+35.22222222</contact:fax> <contact:email>[email protected]</contact:email> <contact:clID>a000006</contact:clID> <contact:crID>a000006</contact:crID> <contact:crDate>2007-10-23T10:13:59.000Z</contact:crDate> <contact:upDate>2007-10-23T10:21:26.000Z</contact:upDate> </contact:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:contact> <eurid:type>registrant</eurid:type> <eurid:vat>3455345645</eurid:vat> <eurid:lang>en</eurid:lang> <eurid:onhold>false</eurid:onhold> <eurid:monitoringStatus>updatable</eurid:monitoringStatus> </eurid:contact> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>info-contact-00</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 51: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

51

In this example the reply returned once the <contact:info> command has been used, shows that the monitored update of the contact has already been submitted, but still needs to be approved by EURid. The <eurid:monitoringStatus> tag therefore has a status of “approvalPending”:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <contact:infData> <contact:id>c1573194</contact:id> <contact:roid>1573194-EURID</contact:roid> <contact:status s="ok"/> <contact:postalInfo type="loc"> <contact:name>Klaus Example</contact:name> <contact:org>Example Company</contact:org> <contact:addr> <contact:street>Kingstreet 88</contact:street> <contact:street>bus 5</contact:street> <contact:city>Brussels</contact:city> <contact:pc>1000</contact:pc> <contact:cc>BE</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+32.111111111</contact:voice> <contact:fax>+35.22222222</contact:fax> <contact:email>[email protected]</contact:email> <contact:clID>a000006</contact:clID> <contact:crID>a000006</contact:crID> <contact:crDate>2007-10-23T10:13:59.000Z</contact:crDate> <contact:upDate>2007-10-23T10:21:26.000Z</contact:upDate> </contact:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:contact> <eurid:type>registrant</eurid:type> <eurid:vat>3455345645</eurid:vat> <eurid:lang>en</eurid:lang> <eurid:onhold>false</eurid:onhold> <eurid:monitoringStatus>approvalPending</eurid:monitoringStatus> </eurid:contact> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>info-contact-00</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 52: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

52

In this example the <eurid:monitoringStatus> tag does not appear. This means that there is actually no request for a monitored update pending:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <contact:infData> <contact:id>c1573194</contact:id> <contact:roid>1573194-EURID</contact:roid> <contact:status s="ok"/> <contact:postalInfo type="loc"> <contact:name>Klaus Example</contact:name> <contact:org>Example Company</contact:org> <contact:addr> <contact:street>Kingstreet 88</contact:street> <contact:city>Brussel</contact:city> <contact:pc>1000</contact:pc> <contact:cc>BE</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+32.111111111</contact:voice> <contact:fax>+35.22222222</contact:fax> <contact:email>[email protected]</contact:email> <contact:clID>a000006</contact:clID> <contact:crID>a000006</contact:crID> <contact:crDate>2007-10-23T10:13:59.000Z</contact:crDate> <contact:upDate>2007-11-06T08:31:39.000Z</contact:upDate> </contact:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:contact> <eurid:type>registrant</eurid:type> <eurid:vat>3455345645</eurid:vat> <eurid:lang>en</eurid:lang> <eurid:onhold>false</eurid:onhold> </eurid:contact> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>info-contact-00</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 53: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

53

The reply from the EPP server can therefore be one of the following:

<eurid:monitoringStatus> Remarks

’Updatable’ The contact is enabled for the monitored update and the

Registrar may now perform the transaction.

’ApprovalPending’ The “contact:update” command has been sent and the results

of the update command need to be approved by EURid.

(no result) The tag <eurid:monitoringStatus> is omitted from the reply; therefore the contact is not enabled for monitored update.

Please refer to the document “Monitored update instructions” for more information. It is available in the “Downloads” section (“Documents” – “Instruction Manuals”) of the Registrar Extranet.

Page 54: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

54

Create nsgroup PURPOSE: Create a list of name servers that can be used as a placeholder on a domain registration.

This is a EURid specific extension, documented in the schema nsgroup-1.0.xsd.

The nsgroup mapping is a EURid specific object-extension to the EPP norm, coherent with the EPP object extension framework. The nsgroup object allows a registrar to group several name servers in one object, to facilitate the mapping between a domain and a list of name servers. When a name server group is attached to a domain (at creation of the domain or through an update), this has the same effect as linking all name servers individually to that domain. When the zone file is generated, the name server group is replaced by the name servers it contains. The advantage is that an update becomes easy. By changing a name server group (e.g. adding an additional name server) it will have an effect on all the domain names that are linked to that name server group. A valid document has the following structure:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<create> 1

<name> 1 normalizedString 1-50 containing characters from [a-z][A-Z][0-9][-.]

<ns> 0-9 token: 4-255

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <name> Contains the (chosen) name for the name server group.

• <ns> Contains the name of the name server.

• <clTRID> Contains the transaction ID (for tracking the command) that was provided by the registrar in the incoming command.

Examples:

Example 1: A valid command to create a name server group would therefore be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:nsgroup="http://www.eurid.eu/xml/epp/nsgroup-1.0"> <command> <create> <nsgroup:create> <nsgroup:name>nsgroup-eurid</nsgroup:name> <nsgroup:ns>ns1.eurid.eu</nsgroup:ns> <nsgroup:ns>ns2.eurid.eu</nsgroup:ns> <nsgroup:ns>ns3.eurid.eu</nsgroup:ns>

Page 55: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

55

<nsgroup:ns>ns4.eurid.eu</nsgroup:ns> <nsgroup:ns>ns5.eurid.eu</nsgroup:ns> </nsgroup:create> </create> <clTRID>nsgroup-create-001</clTRID> </command> </epp>

The EPP server responds, in case of successful creation, a standard EPP response message:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>nsgroup-create-001</clTRID> <svTRID>eurid-5419750</svTRID> </trID> </response> </epp>

Example 2: Please note that the content of the name server group is the responsibility of the registrar. It is perfectly possible to create a name server group with all the same name servers. The result will be that only 1 name server will be linked to the name server group:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:nsgroup="http://www.eurid.eu/xml/epp/nsgroup-1.0"> <command> <create> <nsgroup:create> <nsgroup:name>nsgroup-eurid3</nsgroup:name> <nsgroup:ns>ns1.eurid.eu</nsgroup:ns> <nsgroup:ns>ns1.eurid.eu</nsgroup:ns> <nsgroup:ns>ns1.eurid.eu</nsgroup:ns> <nsgroup:ns>ns1.eurid.eu</nsgroup:ns> <nsgroup:ns>ns1.eurid.eu</nsgroup:ns> </nsgroup:create> </create> <clTRID>nsgroup-create-002</clTRID> </command> </epp>

Page 56: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

56

The EPP server responds, in case of successful creation, a standard EPP response message:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>nsgroup-create-002</clTRID> <svTRID>eurid-5419892</svTRID> </trID> </response> </epp>

Page 57: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

57

Update nsgroup PURPOSE: To update the contents of a name server group.

Please note: A “nsgroup update” updates the whole object at once (there is no <add>,

<chg> or <rem> sections as with others EPP objects)!

The document structure is identical to the one for the <create> nsgroup:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<update> 1

<name> 1 normalizedString 1-50 containing characters from [a-z][A-Z][0-9][-.]

<ns> 0-9 token: 4-255

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <name> Contains the (chosen) name for the name server group.

• <ns> Contains the name of the name server.

• <clTRID> Contains the transaction ID (for tracking the command) that was provided by the registrar in the incoming command.

Example:

A valid command for the update of a nsgroup would be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:nsgroup="http://www.eurid.eu/xml/epp/nsgroup-1.0"> <command> <update> <nsgroup:update> <nsgroup:name>nsgroup-eurid3</nsgroup:name> <nsgroup:ns>ns2.eurid.eu</nsgroup:ns> </nsgroup:update> </update> <clTRID>nsgroup-update-001</clTRID> </command> </epp>

Page 58: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

58

The response from the server will then be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>nsgroup-update-001</clTRID> <svTRID>eurid-5419961</svTRID> </trID> </response> </epp>

Please note that when updating a name server group, you are replacing all existing name servers by the set provided in the update command. So if you want to keep the existing name servers and just add another one, you need to re-specify the old ones and add the new one.

Page 59: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

59

Delete nsgroup PURPOSE: To delete a name server group.

Please note: It is not possible to delete a name server group that is still used on 1 or more

domains!

The structure of the document is identical to that of a <delete> contact:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<delete> 1

<name> 1 normalizedString 1-50 containing characters from [a-z][A-Z][0-9][-.]

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <nsgroup:name> Contains the name of the name server group.

Example:

A valid command to delete a nsgroup:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:nsgroup="http://www.eurid.eu/xml/epp/nsgroup-1.0"> <command> <delete> <nsgroup:delete> <nsgroup:name>nsgroup-eurid3</nsgroup:name> </nsgroup:delete> </delete> <clTRID>nsgroup-delete-001</clTRID> </command> </epp>

Page 60: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

60

After a successful deletion the server will respond:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>nsgroup-delete-001</clTRID> <svTRID>eurid-5420019</svTRID> </trID> </response> </epp>

Example 2: Deleting a nsgroup which is still linked to a domain name

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:nsgroup="http://www.eurid.eu/xml/epp/nsgroup-1.0"> <command> <delete> <nsgroup:delete> <nsgroup:name>nsgroup-eurid4</nsgroup:name> </nsgroup:delete> </delete> <clTRID>nsgroup-delete-001</clTRID> </command> </epp>

Response 2: Reply from the server:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2305"> <msg>Object association prohibits operation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Nsgroup [nsgroup-eurid4] still linked to 1 domains</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>nsgroup-delete-001</clTRID> <svTRID>eurid-61545511</svTRID> </trID> </response> </epp>

Page 61: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

61

Response 3: When the nsgroup deletion refers to a group that does not exist

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2303"> <msg>Object does not exist</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>nsgroup [invalidnsgroup] does not exist</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>nsgroup-delete-001</clTRID> <svTRID>eurid-61545512</svTRID> </trID> </response> </epp>

Page 62: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

62

Check nsgroup

PURPOSE: To determine the (in)existence of a name server group..

The structure of the document:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<check> 1

<nsgroup:check> 1

<nsgroup:name> 1-* normalizedString 1-50 containing characters from [a-z][A-Z][0-9][-.]

<clTRID> 0-1 token: 3-64

Details:

• <nsgroup:name> Contains the name of the nsgroup to be checked. There is an entry in the reply document for each of the name server groups that were checked. The 'avail' attribute contains a value of 'false' if the nsgroup is not available (= the nsgroup exists) and a value of 'true' if the nsgroup is available, at the time of the check.

Please note that a single nsgroup:check command can be used to test the availability (inexistence) of more than one name server groups.

Example:

We would like to check 7 different name server groups:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:nsgroup="http://www.eurid.eu/xml/epp/nsgroup-1.0"> <command> <check> <nsgroup:check> <nsgroup:name>nsgroup-eurid1</nsgroup:name> <nsgroup:name>nsgroup-eurid2</nsgroup:name> <nsgroup:name>nsgroup-eurid3</nsgroup:name> <nsgroup:name>nsgroup-eurid4</nsgroup:name> <nsgroup:name>nsgroup-eurid5</nsgroup:name> <nsgroup:name>nsgroup-eurid6</nsgroup:name> <nsgroup:name>nsgroup-eurid7</nsgroup:name> </nsgroup:check> </check> <clTRID>nsgroup-check-001</clTRID> </command> </epp>

Page 63: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

63

The EPP server will return:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:nsgroup="http://www.eurid.eu/xml/epp/nsgroup-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <nsgroup:chkData> <nsgroup:cd> <nsgroup:name avail="true">nsgroup-eurid1</nsgroup:name> </nsgroup:cd> <nsgroup:cd> <nsgroup:name avail="false">nsgroup-eurid2</nsgroup:name> </nsgroup:cd> <nsgroup:cd> <nsgroup:name avail="true">nsgroup-eurid3</nsgroup:name> </nsgroup:cd> <nsgroup:cd> <nsgroup:name avail="false">nsgroup-eurid4</nsgroup:name> </nsgroup:cd> <nsgroup:cd> <nsgroup:name avail="true">nsgroup-eurid5</nsgroup:name> </nsgroup:cd> <nsgroup:cd> <nsgroup:name avail="true">nsgroup-eurid6</nsgroup:name> </nsgroup:cd> <nsgroup:cd> <nsgroup:name avail="true">nsgroup-eurid7</nsgroup:name> </nsgroup:cd> </nsgroup:chkData> </resData> <trID> <clTRID>nsgroup-check-001</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

The example shows that nsgroup-eurid2 and nsgroup-eurid4 exist.

Page 64: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

64

Info nsgroup PURPOSE: To retrieve the contents of an existing nsgroup.

The structure of the document that must be sent:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<info> 1

<nsgroup:info> 1

<nsgroup:name> 1 normalizedString 1-50 containing characters from [a-z][A-Z][0-9][-.]

<clTRID> 0-1 token: 3-64

Details:

• <nsgroup:name> Contains the name of the name server group.

Example:

Consider the case of a name server group called “nsgroup-eurid” to contain the following name server names:

ns1.eurid.eu

ns2.eurid.eu

ns3.eurid.eu

ns4.eurid.eu

ns5.eurid.eu

A valid command to retrieve information about the contents of the nsgroup “nsgroup-eurid” would be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:nsgroup="http://www.eurid.eu/xml/epp/nsgroup-1.0"> <command> <info> <nsgroup:info> <nsgroup:name>nsgroup-eurid</nsgroup:name> </nsgroup:info> </info> <clTRID>nsgroup-check-001</clTRID> </command> </epp>

Page 65: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

65

The server will return the information for that name server group:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:nsgroup="http://www.eurid.eu/xml/epp/nsgroup-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <nsgroup:infData> <nsgroup:name>nsgroup-eurid</nsgroup:name> <nsgroup:ns>ns1.eurid.eu</nsgroup:ns> <nsgroup:ns>ns2.eurid.eu</nsgroup:ns> <nsgroup:ns>ns3.eurid.eu</nsgroup:ns> <nsgroup:ns>ns4.eurid.eu</nsgroup:ns> <nsgroup:ns>ns5.eurid.eu</nsgroup:ns> </nsgroup:infData> </resData> <trID> <clTRID>nsgroup-check-001</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 66: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

66

Create domain PURPOSE: To register an available domain name. Detailed information about how to apply for a domain name during the Sunrise period can be found in “Appendix II: Sunrise specific guidelines” which is also available on registry.eu. The EPP protocol specifies two ways of working with name servers:

• name servers as first class objects; • name servers as attributes to a domain name.

It is the second possibility that EURid has adopted. Technically speaking, this means you will need to use the <hostAttr> element and not the <hostObj> element. EURid does not have host objects as separate entities. A name server is specified on the domain object command; and is created, deleted or updated as needed, transparently to the client. A host/name server cannot be accessed directly as an EPP object.

The EPP standard supposes that the domain name that is being registered, contains the

trailing TLD extension. This is because EPP can be used by registries that manage more

than one extension. For consistency reasons, we will accept domain names without the

".eu" extension. If however an extension is provided, it will be checked and only ".eu"

extensions will be handled.

A domain name object has a one year validity period. The two only accepted values for validity periods are 12 months and 1 year. The elements and tags that are relevant for EURid are specified in the following table. Tags for which the minimum occurrence is 0 can be omitted without producing an xml parsing error.

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<create> 1

<name> 1 token: 1-255

<period> 0-1 required attrib: unit = "y"|"m"

value: 1-99; can be omitted

<ns> 0-1

<hostAttr> 1-* EURid server policy limits up to 9

<hostName> 1 token: 4-255

<hostAddr> 0-* attribute “ip” value “v4”(default) or “v6”;

token: 3-45

<registrant> 1 token: 3-16

ATTENTION: Redefined by EURid to make it required!

Page 67: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

67

<contact> 2-* token: 3-16

required attrib: "billing" | "tech" | “onsite”

ATTENTION: Modified by EURid to add type "onsite”; the registry policy requires 1 “billing” contact and at least 1 of “tech” or “onsite” contact.

<authInfo> 1 optional attrib: roid= token

(\w|_){1,80}-\w{1,8}

<pw> 1 Is not used by EURid. As it is a required element in the schema, it must be provided; however, you do not have to specify a value between the tags.

<extension> 0-1 CONTAINS EURid SPECIFIC EXTENSIONS

<ext> 1

<create> 1

<domain> 1

<nsgroup> 0-9 normalizedString 1-50

<secDNS:alg> 3 | 5 | 6 | 7

<secDNS:create>

<secDNS:digest> A 40 bytes integer value in hexadecimal format

<secDNS:digestType> 1 1

<secDNS:dsData> Delegation signer data

<secDNS:flags> 256 | 257 Value is 256 for ZSK, or 257 for KSK

<secDNS:infData>

<secDNS:keyData>

<secDNS:keyTag> Normalized string 0-9

<secDNS:maxSigLife> Maximum signature lifetime (in seconds). This field is ignored by EURid.

<secDNS:protocol> 3

<secDNS:pubKey> A base 64 value. Any spaces in the public key will be removed. Maximum is 1024 base64 characters

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <name> Is the domain name to create, with or without the trailing ".eu". It can be more than 63 characters long but will return an error from the transaction processor when that is the case.

• <period> Is the domain validity period. Only accepted values are “1” with unit "y" (year) and “12” with unit "m" (month).

• <ns> Is a list of name servers. Optional <hostAddr> elements allow for specifying required glue records. The attribute ip= “v4” or “v6” can be omitted, in which case it defaults to ip=”v4”.

• <registrant> Is the registrant (or domain name holder) handle of the domain. The registrant must be a valid contact, created on the system before with either EPP or via the Online System.

Page 68: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

68

• <contact> Is the list of contacts to associate with this domain. The type attribute can be one of: "billing" (billing contact) (exactly 1), "tech" (technical contact) (0 to 9), "onsite" (onsite contact) (0 to 5). An invalid number of contacts or other contact types are not allowed.

• <authInfo> Contains the authorization information associated with the domain. This value is currently ignored.

• <eurid:nsgroup> Contains the list of name server groups.

In the secDNS:create extension, the following elements can be found:

• <secDNS:dsData> Groups the data for Delegation signer

• <keyTag> Contains keytag value for the associated key

• <digestType>Type of the digest currently only type 1 (=SHA1) is supported

• <digest> Value of the DS record

• <maxSigLife> Maximum signature lifetime (in seconds). This field is ignored by EURid.

• <keyData> Contains the DNSSEC key information.

• <flags> Indicates the type of the key it can be either 256 for ZSK, or 257 for KSK

• <protocol> Contains protocol value for the associated key, standard value for EURid is 3.

• <alg> Contains the number representing the algorithm

• <pubKey> Contains the public DNSSEC key

Examples:

Overview of the examples

Example Number Summary

1 A simple create:domain example

2 Registering a domain with two name servers (one with glue

record)

3 Invalid case: using a wrong period value

4 Invalid case: a domain with one name server requiring a glue

record but with missing IP address

5 Invalid case: a domain name with one name server that does not

need a glue record but has one specified in the command.

6 Registering a domain name with one name server and one name

server group.

7 Registering a domain name with one name server name that is

itself an IDN.

8 Registering an IDN with Unicode encoding

9 Registering an IDN in ACE representation

10 Registering an IDN with Unicode encoding that has normalized

representation that differs from the original text.

11 Registering an IDN with a DNSSEC key attached to it

12 Registering an IDN with 4 DNSSEC keys attached to it. This

example lists also a number of DNSSEC-related error messages.

13 Registering a domain name with a keygroup attached to it.

Page 69: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

69

Example 1: A valid document for the registration of the domain name “mytestdomain.eu”:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <create> <domain:create> <domain:name>mytestdomain</domain:name> <domain:registrant>c972723</domain:registrant> <domain:contact type="tech">c112574</domain:contact> <domain:contact type="billing">c112575</domain:contact> <domain:authInfo> <domain:pw>not-used</domain:pw> </domain:authInfo> </domain:create> </create> <clTRID>tr12345</clTRID> </command> </epp>

The result of this transaction will be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:creData> <domain:name>mytestdomain</domain:name> <domain:crDate>2006-03-21T11:58:50.646Z</domain:crDate> </domain:creData> </resData> <trID> <clTRID>tr12345</clTRID> <svTRID>eurid-5422699</svTRID> </trID> </response> </epp>

• <result> Contains the result information.

• <msg> Is the result code in text format.

• <domain:name> Is the domain name created (with the trailing ".eu")

• <domain:crDate> Is the real creation date in UTC time. Please be aware that dates in EPP are returned in UTC while scheduled operations will be performed in Belgian time (CET/CEST).

• <clTRID> Is the transaction ID provided by the registrar in the input document.

• <svTRID> Is the server unique transaction ID.

Page 70: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

70

Example 2: The registration of a domain name with name servers (one with a glue record) and 1 redundant element, namely “period”:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <create> <domain:create> <domain:name>mytestdomain2</domain:name> <domain:period unit="y">1</domain:period> <domain:ns> <domain:hostAttr> <domain:hostName>ns.eurid.eu</domain:hostName> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns.mytestdomain2.eu</domain:hostName> <domain:hostAddr>1.2.3.4</domain:hostAddr> </domain:hostAttr> </domain:ns> <domain:registrant>c972723</domain:registrant> <domain:contact type="billing">c112575</domain:contact> <domain:contact type="tech">c112574</domain:contact> <domain:authInfo> <domain:pw>not-used</domain:pw> </domain:authInfo> </domain:create> </create> <clTRID>tr12345</clTRID> </command> </epp>

The EPP server will return:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:creData> <domain:name>mytestdomain2</domain:name> <domain:crDate>2006-03-21T12:07:06.978Z</domain:crDate> </domain:creData> </resData> <trID> <clTRID>tr12345</clTRID> <svTRID>eurid-5422896</svTRID> </trID> </response> </epp>

Page 71: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

71

Example 3: The same example as before but with a wrong value for “period”:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <create> <domain:create> <domain:name>mytestdomain3</domain:name> <domain:period unit="y">2</domain:period> <domain:registrant>c972723</domain:registrant> <domain:contact type="tech">c112574</domain:contact> <domain:contact type="billing">c112575</domain:contact> <domain:authInfo> <domain:pw>not-used</domain:pw> </domain:authInfo> </domain:create> </create> <clTRID>tr12345</clTRID> </command> </epp>

The result of this transaction will be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2004"> <msg>Parameter value range error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>period must be 1 year or 12 months</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>tr12345</clTRID> <svTRID>eurid-5422897</svTRID> </trID> </response> </epp>

Page 72: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

72

Example 4: A registration of a domain name with a name server that requires a glue record but with a missing IP address.

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <create> <domain:create> <domain:name>mytestdomain3</domain:name> <domain:period unit="y">1</domain:period> <domain:ns> <domain:hostAttr> <domain:hostName>ns.mytestdomain3.eu</domain:hostName> </domain:hostAttr> </domain:ns> <domain:registrant>c972723</domain:registrant> <domain:contact type="tech">c112574</domain:contact> <domain:contact type="billing">c112575</domain:contact> <domain:authInfo> <domain:pw>not-used</domain:pw> </domain:authInfo> </domain:create> </create> <clTRID>tr12345</clTRID> </command> </epp>

The EPP server will return:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>missing glue for ns.mytestdomain3.eu</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>tr12345</clTRID> <svTRID>eurid-5422912</svTRID> </trID> </response> </epp>

Page 73: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

73

Example 5: Registration of a domain name with a name server and a specified glue record, while there is no need for a glue record:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <create> <domain:create> <domain:name>mytestdomain3</domain:name> <domain:period unit="y">1</domain:period> <domain:ns> <domain:hostAttr> <domain:hostName>ns.anotherdomain.eu</domain:hostName> <domain:hostAddr>1.2.3.4</domain:hostAddr> </domain:hostAttr> </domain:ns> <domain:registrant>c972723</domain:registrant> <domain:contact type="tech">c112574</domain:contact> <domain:contact type="billing">c112575</domain:contact> <domain:authInfo> <domain:pw>not-used</domain:pw> </domain:authInfo> </domain:create> </create> <clTRID>tr12345</clTRID> </command> </epp>

The result of this transaction will be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>glue not required for ns.anotherdomain.eu</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>tr12345</clTRID> <svTRID>eurid-5422957</svTRID> </trID> </response> </epp>

Page 74: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

74

Example 6: Registration of a domain name with a name server group:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0">

<command> <create> <domain:create> <domain:name>mytestdomain3</domain:name> <domain:period unit="y">1</domain:period> <domain:ns> <domain:hostAttr> <domain:hostName>ns.anything.eu</domain:hostName> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns.everything.eu</domain:hostName> </domain:hostAttr> </domain:ns> <domain:registrant>c972723</domain:registrant> <domain:contact type="tech">c112574</domain:contact> <domain:contact type="billing">c112575</domain:contact> <domain:authInfo> <domain:pw>not-used</domain:pw> </domain:authInfo> </domain:create> </create> <extension> <eurid:ext> <eurid:create> <eurid:domain> <eurid:nsgroup>nsgroup-eurid</eurid:nsgroup> </eurid:domain> </eurid:create> </eurid:ext> </extension> <clTRID>tr12345</clTRID> </command> </epp>

The EPP server will return:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:creData> <domain:name>mytestdomain3.eu</domain:name> <domain:crDate>2010-05-28T09:38:04.028Z</domain:crDate> </domain:creData> </resData> <trID> <clTRID>tr12345</clTRID> <svTRID>eurid-61545426</svTRID>

Page 75: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

75

</trID> </response> </epp>

Example 7: Creation of a domain name with an IDN name server:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <create> <domain:create> <domain:name>testdomain2</domain:name> <domain:period unit="y">1</domain:period> <domain:ns> <domain:hostAttr> <domain:hostName>ns1.üräd.de</domain:hostName> <domain:hostName>ns2.xn--rd-via8g.de</domain:hostName> </domain:hostAttr> </domain:ns> <domain:registrant>c218</domain:registrant> <domain:contact type="billing">c11</domain:contact> <domain:contact type="tech">c12</domain:contact> <domain:authInfo> <domain:pw>not-used</domain:pw> </domain:authInfo> </domain:create> </create> <clTRID>tr12345</clTRID> </command> </epp>

After the successful command the server will reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:creData> <domain:name>testdomain2</domain:name> <domain:crDate>2008-11-12T18:01:33.145Z</domain:crDate> </domain:creData> </resData> <trID> <clTRID>tr12345</clTRID> <svTRID>eurid-7025</svTRID> </trID> </response> </epp>

Name server names can be entered in all possible supported characters, provided a valid conversion exists between the Unicode and ACE-notation.

Page 76: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

76

Example 8: Create the IDN domain name dömain.eu: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <create> <domain:create> <domain:name>dömain.eu</domain:name> <domain:registrant>c100000</domain:registrant> <domain:contact type="tech">c100002</domain:contact> <domain:contact type="billing">c100003</domain:contact> <domain:authInfo> <domain:pw>not-used</domain:pw> </domain:authInfo> </domain:create> </create> <clTRID>create-domain-00</clTRID> </command> </epp>

After the successful registration the server will reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns=http://www.eurid.eu/xml/epp/epp-1.0 xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:creData> <domain:name>dömain.eu</domain:name> <domain:crDate>2009-10-14T08:44:50.618Z</domain:crDate> </domain:creData> </resData> <extension> <idn:mapping> <idn:name> <idn:ace>xn--dmain-jua</idn:ace> <idn:unicode>dömain</idn:unicode> </idn:name> </idn:mapping> </extension> <trID> <clTRID>create-domain-00</clTRID> <svTRID>eurid-38562</svTRID> </trID> </response> </epp>

Page 77: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

77

For IDN domain names the result will also contain the following fields in the extension: <idn:mapping>

<idn:name>

<idn:ace></idn:ace>

<idn:unicode></idn:unicode>

</idn:name>

</idn:mapping>

• < idn:ace > Contains the registered IDN domain name in the ACE representation.

• <idn:unicode > Contains the registered IDN domain name in the Unicode representation

IDN Extension for IDN domain names always displays the both notations: Unicode and ACE. The reply contains the domain name queried in the format used in the command. Please note that for IDN domain names in Unicode the reply can be different due to a Nameprepping (RFC 3490/3491).

Example 9 Create the IDN domain name with ACE representation xn--dmain-jua.eu (dömain.eu): <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <create> <domain:create> <domain:name>xn--dmain-jua.eu</domain:name> <domain:registrant>c100000</domain:registrant> <domain:contact type="tech">c100002</domain:contact> <domain:contact type="billing">c100003</domain:contact> <domain:authInfo> <domain:pw>not-used</domain:pw> </domain:authInfo> </domain:create> </create> <clTRID>create-domain-00</clTRID> </command> </epp>

After the successful registration the server will reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns=http://www.eurid.eu/xml/epp/epp-1.0 xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:creData> <domain:name> xn--dmain-jua.eu</domain:name> <domain:crDate>2009-10-14T08:44:50.618Z</domain:crDate> </domain:creData> </resData> <extension> <idn:mapping>

Page 78: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

78

<idn:name> <idn:ace>xn--dmain-jua</idn:ace> <idn:unicode>dömain</idn:unicode> </idn:name> </idn:mapping> </extension> <trID> <clTRID>create-domain-00</clTRID> <svTRID>eurid-38562</svTRID> </trID> </response> </epp>

Example 10: Create the domain name ᾀᾁ.eu (nameprep transformation of an Unicode domain name): <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <create> <domain:create>

<domain:name>ᾀᾁ.eu</domain:name> <domain:registrant>c13</domain:registrant> <domain:contact type="tech">c11</domain:contact> <domain:contact type="billing">c12</domain:contact> <domain:authInfo> <domain:pw>not-used</domain:pw> </domain:authInfo> </domain:create> </create> <clTRID>create-domain-00</clTRID> </command> </epp>

Page 79: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

79

After the successful registration the server will reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns=http://www.eurid.eu/xml/epp/epp-1.0 xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:creData>

<domain:name>ἀιἁι.eu</domain:name> <domain:crDate>2009-10-28T09:24:31.604Z</domain:crDate> </domain:creData> </resData> <extension> <idn:mapping> <idn:name> <idn:ace>xn--uxaa160sfa</idn:ace>

<idn:unicode>ἀιἁι</idn:unicode> </idn:name> </idn:mapping> </extension> <trID> <clTRID>create-domain-00</clTRID> <svTRID>eurid-5301</svTRID> </trID> </response> </epp>

The domain name and its Unicode representation have been transformed by a nameprep. In such case the returned output does not the contain original version of the requested domain name.

Page 80: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

80

Example 11: Create the domain name ίτνσίίεππεοεθητσχ.eu with a DNSSEC key attached to it.

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.0"> <command> <create> <domain:create> <domain:name>ίτνσίίεππεοεθητσχ</domain:name> <domain:registrant>c34</domain:registrant> <domain:contact type="onsite">c14</domain:contact> <domain:contact type="billing">c12</domain:contact> <domain:authInfo> <domain:pw>not-used</domain:pw> </domain:authInfo> </domain:create> </create> <extension> <secDNS:create> <secDNS:dsData> <secDNS:keyTag>6615</secDNS:keyTag> <secDNS:alg>7</secDNS:alg> <secDNS:digestType>1</secDNS:digestType> <secDNS:digest>d1ef70078e1927e2004c46994b77fce47eaaf8fb</secDNS:digest> <secDNS:maxSigLife>604800</secDNS:maxSigLife> <secDNS:keyData> <secDNS:flags>257</secDNS:flags> <secDNS:protocol>3</secDNS:protocol> <secDNS:alg>7</secDNS:alg> <secDNS:pubKey>AwEAAcTnEOkfH1FsT9EI2BmjMB83uDWXpSp57YHa0v6Xg60Usm3Y2Fct1emy+h0+uDstyUl5eILy9eO2eI67m5r0Lck=</secDNS:pubKey> </secDNS:keyData> </secDNS:dsData> </secDNS:create> </extension> </command> </epp>

Page 81: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

81

After the successful registration the server will reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:creData> <domain:name>ίτνσίίεππεοεθητσχ.eu</domain:name> <domain:crDate>2010-02-25T10:26:52.618Z</domain:crDate> </domain:creData> </resData> <extension> <idn:mapping> <idn:name> <idn:ace>xn--kxaaayaaoh3byaja8akcm6c.eu</idn:ace> <idn:unicode>ίτνσίίεππεοεθητσχ.eu</idn:unicode> </idn:name> </idn:mapping> </extension> <trID> <svTRID>eurid-6945</svTRID> </trID> </response> </epp>

Example 12: Create the domain name ττθυσττδετσ.eu with 4 DNSSEC keys attached to it.

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.0"> <command> <create> <domain:create> <domain:name>ττθυσττδετσ</domain:name> <domain:registrant>c34</domain:registrant> <domain:contact type="onsite">c14</domain:contact> <domain:contact type="billing">c12</domain:contact> <domain:authInfo> <domain:pw>not-used</domain:pw> </domain:authInfo> </domain:create> </create> <extension> <secDNS:create> <secDNS:dsData> <secDNS:keyTag>6615</secDNS:keyTag> <secDNS:alg>7</secDNS:alg> <secDNS:digestType>1</secDNS:digestType> <secDNS:digest>02c867368893ebb3dd7c3d1d2c0593930f551c13</secDNS:digest> <secDNS:maxSigLife>604800</secDNS:maxSigLife>

Page 82: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

82

<secDNS:keyData> <secDNS:flags>257</secDNS:flags> <secDNS:protocol>3</secDNS:protocol> <secDNS:alg>7</secDNS:alg> <secDNS:pubKey>AwEAAcTnEOkfH1FsT9EI2BmjMB83uDWXpSp57YHa0v6Xg60Usm3Y2Fct1emy+h0+uDstyUl5eILy9eO2eI67m5r0Lck=</secDNS:pubKey> </secDNS:keyData> </secDNS:dsData> <secDNS:dsData> <secDNS:keyTag>7434</secDNS:keyTag> <secDNS:alg>7</secDNS:alg> <secDNS:digestType>1</secDNS:digestType> <secDNS:digest>9a98ac377b802a91226f5799994e309af63a53d2</secDNS:digest> <secDNS:maxSigLife>604800</secDNS:maxSigLife> <secDNS:keyData> <secDNS:flags>257</secDNS:flags> <secDNS:protocol>3</secDNS:protocol> <secDNS:alg>7</secDNS:alg> <secDNS:pubKey>AwEAAbsYgvpGRUH9Z0JpgM05Jqi3ghZnF+RQ3+y2MBZBwzmSOPjYENr/ Kb+YRClJB6wCR+GPy82x5WH8dPUaLzj5UY8=</secDNS:pubKey> </secDNS:keyData> </secDNS:dsData> <secDNS:dsData> <secDNS:keyTag>15114</secDNS:keyTag> <secDNS:alg>7</secDNS:alg> <secDNS:digestType>1</secDNS:digestType> <secDNS:digest>7d6c24d58b0235eb0550c64e80f5cfa642a9761c</secDNS:digest> <secDNS:maxSigLife>604800</secDNS:maxSigLife> <secDNS:keyData> <secDNS:flags>257</secDNS:flags> <secDNS:protocol>3</secDNS:protocol> <secDNS:alg>7</secDNS:alg> <secDNS:pubKey>AwEAAeCQT2XXaLx+ushYsvbeFOXThH7p3L0lhSROL2zyEO1j+Y51KqTU c2H5eakXg9hI3SFRiGfqegN6wxPzPioGWsU=</secDNS:pubKey> </secDNS:keyData> </secDNS:dsData> <secDNS:dsData> <secDNS:keyTag>2460</secDNS:keyTag> <secDNS:alg>7</secDNS:alg> <secDNS:digestType>1</secDNS:digestType> <secDNS:digest>120bff190881e743e9f9f0c4f49ccc230f87d3d2</secDNS:digest> <secDNS:maxSigLife>604800</secDNS:maxSigLife> <secDNS:keyData> <secDNS:flags>257</secDNS:flags> <secDNS:protocol>3</secDNS:protocol> <secDNS:alg>7</secDNS:alg> <secDNS:pubKey>AwEAAdwbYlysDKjKJxqmErziaw48nunDZdjMn40V/PCD2bqXzB1D2HLf Lz2ey6zmpvcy6/+k8j+qT7ijeaaxG0zEtMs=</secDNS:pubKey> </secDNS:keyData> </secDNS:dsData> </secDNS:create> </extension> </command> </epp>

Page 83: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

83

After the successful registration the server will reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:creData> <domain:name>ττθυσττδετσ.eu</domain:name> <domain:crDate>2010-02-25T10:26:53.311Z</domain:crDate> </domain:creData> </resData> <extension> <idn:mapping> <idn:name> <idn:ace>xn--pxach8bcbacacf.eu</idn:ace> <idn:unicode>ττθυσττδετσ.eu</idn:unicode> </idn:name> </idn:mapping> </extension> <trID> <svTRID>eurid-6946</svTRID> </trID> </response> </epp>

When more than 4 keys are used server replies the following:

<epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2308"> <msg>Data management policy violation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Too many keys</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-6947</svTRID> </trID> </response> </epp>

Page 84: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

84

When invalid tag is used server replies the following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Invalid keyTag</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-6950</svTRID> </trID> </response> </epp>

When for tag invalid characters are used the server replies following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2001"> <msg>Command syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>line:22 column:11: Invalid decimal value: expected at least one digit</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

When non-existing algorithm is used the server replies following:

?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Invalid keydata algorithm value: 0</eurid:msg>

Page 85: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

85

</eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-6951</svTRID> </trID> </response> </epp>

When incorrect algorithm is used for the given key then server replies following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Invalid pubKey</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-6952</svTRID> </trID> </response> </epp>

When incorrect digest type is used then server replies following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>digestType must be 1</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-6953</svTRID> </trID> </response> </epp>

Page 86: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

86

When incorrect or empty digest is used then server replies following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Invalid digest</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-9835</svTRID> </trID> </response> </epp>

When incorrect flag is used then server replies following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Invalid keyTag</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-6955</svTRID> </trID> </response> </epp>

When flag not from the list is used then server replies following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result>

Page 87: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

87

<eurid:msg>Invalid flags value: 666</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-6956</svTRID> </trID> </response> </epp>

When both algorithm values are different then server replies following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Algorithm values should be equal</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-6958</svTRID> </trID> </response> </epp>

When key value is incorrect different then server replies following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2001"> <msg>Command syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>line:31 column:13: Invalid value: not encoded properly</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 88: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

88

Example 13: Create the domain name eurid.eu with a keygroup. <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp-1.0.xsd" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <create> <domain:create> <domain:name>eurid</domain:name> <domain:registrant>c10187242</domain:registrant> <domain:contact type="tech">c34</domain:contact> <domain:contact type="billing">c31</domain:contact> <domain:authInfo> <domain:pw>not-used</domain:pw> </domain:authInfo> </domain:create> </create> <extension> <eurid:ext xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <eurid:create> <eurid:domain> <eurid:keygroup>keygroup1</eurid:keygroup> </eurid:domain> </eurid:create> </eurid:ext> </extension> </command> </epp>

Server reply is then the following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:creData> <domain:name>eurid.eu</domain:name> <domain:crDate>2010-05-31T07:46:20.791Z</domain:crDate> </domain:creData> </resData> <trID> <svTRID>eurid-61548835</svTRID> </trID> </response> </epp>

Page 89: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

89

When the keygroup used does not exist then server will reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2303"> <msg>Object does not exist</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>keygroup sswuypdokyplknwrydxighecgprzgeo does not exist</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-61548830</svTRID> </trID> </response> </epp>

Page 90: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

90

Update domain PURPOSE: To change the value of one or more attributes of the given domain object. It is possible to change a part of a domain, without having to re-specify the elements that do not change. The command is therefore composed of three sections: <add>, <chg> and <rem>:

• <add> allows the client to add some data to the current domain; • <chg> to update current data from the domain; • <rem> to remove data.

The fields must be in the following order: <add>, then <rem>, then <chg>. This transaction can be used to update data (even link a new contact to the domain) related

to a domain name. However, restrictions have been build-in to ensure that the identity of the

registrant remains intact (i.e. org name and/or name). For information about how to change

the identity of the registrant, please refer to the sections “trade domain” and ”update

contact”.

Name server names can be entered in all possible supported characters, provided a valid conversion exists between the Unicode and ACE-notation. The structure of the document that is relevant for .eu is based on the following schema:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<update> 1

<name> 1 token: 1-255

<add> 0-1

<ns> 0-1

<hostAttr> 1-*

<hostName> 1 token: 4-255

<hostAddr> 0-* attribute “ip” value “v4”(default) or “v6”;

token 3-45

<contact> 0-* token: 3-16 required attrib: type="admin"|"tech"|"billing"|”onsite”

ATTENTION: Modified by EURid to add type "onsite"; “admin” can be mentioned but is discarded.

<rem> 0-1

<ns> 0-1

<hostAttr> 1-*

<hostName> 1 token: 4-100

<hostAddr> 0-* Attribute “ip” value “v4”(default) or “v6”

token: 3-45

Page 91: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

91

<contact> 0-* token: 3-16 required attrib: type="admin"|"tech"|"billing"|“onsite”

ATTENTION: Redefined by EURid to add type "onsite"; ”admin” can be mentioned but is discarded.

<chg> 0-1

<registrant> 0-1 token: 3-16

<extension> 0-1

<ext> 1

<update> 1

<domain> 1

<add> 0-1

<nsgroup> 0-9 normalizedString 1-50

<rem>

<nsgroup> 0-9 normalizedString 1-50

<secDNS:alg> 3 | 5 | 6 | 7

<secDNS:create>

<secDNS:digest> String hexadecimal 40 characters long

<secDNS:digestType> 1

<secDNS:dsData> Delegation signer data

<secDNS:flags> 256 | 257 (value is 256 for ZSK, or 257 for KSK)

<secDNS:infData>

<secDNS:keyData>

<secDNS:keyTag> Normalized string 0-9

<secDNS:maxSigLife> Maximum signature lifetime (in seconds). This field is ignored by EURid.

<secDNS:protocol> 3

<secDNS:pubKey> A base 64 value. Any spaces in the public key will be removed. Maximum is 1024 base64 characters

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <name> Is the domain name to update, with or without a trailing .eu (see <create> domain for details).

• The <add> and <rem> sections contain the following child elements, in that order:

o <ns> Is used to add or to remove one or more name servers from the name server list.

o <contact> Contains one or more contact handles to add or to remove from the contact list. The type attribute can be one of: "billing" (billing contact) (must be exactly 1), "tech" (technical contact) (0 to 9), "onsite" (onsite contact) (0 to 5).

• The <chg> section contains the following child elements:

o <registrant> Is the domain registrant handle.

• The <extensions> section contains the name server groups.

o <add> Is used to add new name server groups.

o <rem> Is used to remove the name server groups.

Page 92: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

92

• <secDNS:dsData> Contains the DNSSEC related information - Delegation signer data

• <keyTag> Contains keytag value for the associated key

• <digestType>Type of the digest currently only 1 is supported

• <digest> Value of the DS record

• <maxSigLife> Maximum signature lifetime (in seconds). This field is ignored by EURid.

• <keyData> Contains the DNSSEC key information.

• <flags> Indicates the type of the key it can be either 256 for ZSK, or 257 for KSK

• <protocol> Contains protocol value for the associated key, standard value for EURid is 3.

• <alg> Contains the number representing the algorithm

• <pubKey> Contains the public DNSSEC key

Please note that it is possible in one document to remove a name server and replace it with another one that needs an IP address, while at the same time adding a name server group.

Examples:

Overview of the examples

Example Number Summary

1 An update combining several changes (technical contacts, name server, name server group)

2 Invalid case: trying to add a name server that is already used by

the domain name.

3 Invalid case: Trying to remove a contact that is not linked to the

domain name

4 Add a DNSSEC key

5 Removing two DNSSEC keys from an IDN domain name.

6 Adding a keygroup

Example 1: In this example, we combine a few changes. For the domain name “mytestdomain3”, a new name server (with glue record) and a new technical contact is added, while another technical contact is removed. At the same time we add a new name server group and remove another one:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"

xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <update> <domain:update> <domain:name>mytestdomain3</domain:name> <domain:add> <domain:ns> <domain:hostAttr> <domain:hostName>ns.unknown.eu</domain:hostName> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns.mytestdomain3.eu</domain:hostName> <domain:hostAddr ip="v4">1.2.3.4</domain:hostAddr> </domain:hostAttr> </domain:ns> <domain:contact type="tech">c396292</domain:contact> </domain:add>

Page 93: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

93

<domain:rem> <domain:contact type="tech">c112574</domain:contact> </domain:rem> </domain:update> </update> <extension> <eurid:ext> <eurid:update> <eurid:domain> <eurid:add> <eurid:nsgroup> nsgroup-eurid2</eurid:nsgroup> </eurid:add> <eurid:rem> <eurid:nsgroup>nsgroup-eurid</eurid:nsgroup> </eurid:rem> </eurid:domain> </eurid:update> </eurid:ext> </extension> <clTRID>domain-upd-1</clTRID> </command> </epp>

After a successful command the server will reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>OK</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>domain-upd-1</clTRID> <svTRID>eurid-5423056</svTRID> </trID> </response> </epp>

Example 2: In this example we will try to add a name server that is already linked:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <update> <domain:update> <domain:name>mytestdomain3</domain:name> <domain:add> <domain:ns>

Page 94: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

94

<domain:hostAttr> <domain:hostName>ns.unknown.eu</domain:hostName> </domain:hostAttr> </domain:ns> </domain:add> </domain:update> </update> <clTRID>domain-upd-2</clTRID> </command> </epp>

The corresponding reply from the server would be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2002"> <msg>Command use error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Nameserver ns.unknown.eu is already linked to domain mytestdomain3</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>domain-upd-2</clTRID> <svTRID>eurid-5423079</svTRID> </trID> </response> </epp>

Example 3: In this example we will try to remove a contact that was not linked:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <update> <domain:update> <domain:name>mytestdomain3</domain:name> <domain:rem> <domain:contact type="tech">c808806</domain:contact> </domain:rem> </domain:update> </update> <clTRID>ecom001</clTRID> </command> </epp>

Page 95: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

95

The server will then reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2308"> <msg>Data management policy violation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Contact c808806 is not linked to domain mytestdomain3</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>ecom001</clTRID> <svTRID>eurid-5423095</svTRID> </trID> </response> </epp>

Example 4: In this example we will try to add a DNSSEC key: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp-1.0.xsd" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.0"> <command> <update> <domain:update> <domain:name>mytestdomain</domain:name> <domain:add> </domain:add> </domain:update> </update> <extension> <eurid:ext> <eurid:update> <eurid:domain> </eurid:domain> </eurid:update> </eurid:ext> <secDNS:update> <secDNS:add> <secDNS:dsData> <secDNS:keyTag>24711</secDNS:keyTag> <secDNS:alg>7</secDNS:alg> <secDNS:digestType>1</secDNS:digestType> <secDNS:digest>F2C66F53EF0089941DA9F56442FA17D50B8D2228</secDNS:digest> <secDNS:maxSigLife>604800</secDNS:maxSigLife>

Page 96: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

96

<secDNS:keyData> <secDNS:flags>257</secDNS:flags> <secDNS:protocol>3</secDNS:protocol> <secDNS:alg>7</secDNS:alg> <secDNS:pubKey>AwEAAbaTzz7rA3nfmECOKCq1VDjcU5xvGFN1Qz5+qua5cm5FtaDisco9 zv6hP0ptoACXmXZsajqltPue3ASgbHDRFu4PF/fz0sniP3ZJHPlMID1n Nhp2JdjT0J4uXosSzLKo59EDIKLfUp43S7QvnmA5zMGKvfcJlgJgJ5ZZ HAsSaiUd</secDNS:pubKey> </secDNS:keyData> </secDNS:dsData> </secDNS:add> </secDNS:update> </extension> </command> </epp>

The server will then reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <svTRID>eurid-61548923</svTRID> </trID> </response> </epp>

If there are already 4 keys linked to the domain name then the server will reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2308"> <msg>Data management policy violation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Too many keys</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-61548997</svTRID> </trID> </response> </epp>

Page 97: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

97

Example 5: In this example we will remove 2 DNSSEC keys from IDN domain name:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp-1.0.xsd" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.0"> <command> <update> <domain:update> <domain:name>xn--jxacp8ec.eu</domain:name> </domain:update> </update> <extension> <secDNS:update> <secDNS:rem> <secDNS:keyTag>31808</secDNS:keyTag> <secDNS:keyTag>53493</secDNS:keyTag> </secDNS:rem> </secDNS:update> </extension> <clTRID>update-domain-remdnssec-00</clTRID> </command> </epp>

After successful command server will reply:

?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>update-domain-remdnssec-00</clTRID> <svTRID>eurid-61549318</svTRID> </trID> </response> </epp>

Example 6: In this example we will add a keygroup

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp-1.0.xsd" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <update> <domain:update> <domain:name>θ---σχπ</domain:name> </domain:update>

Page 98: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

98

</update> <extension> <eurid:ext> <eurid:update> <eurid:domain> <eurid:add> <eurid:keygroup>keygroup1</eurid:keygroup> </eurid:add> </eurid:domain> </eurid:update> </eurid:ext> </extension> </command> </epp>

After successful command server will reply:

?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <svTRID>eurid-61549318</svTRID> </trID> </response> </epp>

Page 99: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

99

Delete domain PURPOSE: To schedule the deletion of a domain name. In case a domain name has to be deleted a “deleteDate“ needs to be specified. This is the date on which the domain name will be put in quarantine state(. If the domain has to be deleted during the same day, the date of today needs to be specified. Deletes are scheduled to occur every hour. The effective deletion of a domain name occurs between the specified date (rounded to the hour) and the end of the same day. When a deletion is scheduled for a date in the past or for the current date, the time will be randomly spread over the remaining hours of the current day. Please keep in mind that EURid’s EPP system returns the date in UTC as specified by the EPP standard but all operations scheduled to happen on a certain point in time will be processed in local Belgian time (CET/CEST). The structure of the document is very simple:

TAG Occurrences

min-max Size + remarks

<epp> 1

<command> 1

<delete> 1

<name> 1 token: 1-255

<clTRID> 0-1 token: 3-64

<extension> 0-1

<ext> 1

<delete> 1

<domain> 1

<deleteDate> 1 deletion date of the domain name

<overwriteDeleteDate> 0-1 “true”|“false”

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <name> Is the domain name to delete, with or without a trailing .eu (please see <create> domain for details).

• <deleteDate> Is the delete date. Please be aware that dates in EPP are returned in UTC while scheduled operations will be performed in Belgian time (CET/CEST).

• <overwriteDeleteDate> This field can be specified to change the deletion date of a scheduled delete without undeleting the domain name first. The new <deleteDate> needs to be specified in the same command. This command works regardless of whether the domain name was already scheduled for deletion.

Page 100: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

100

Examples:

Example 1: A valid document for the deletion of the domain name “ecom”:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <delete> <domain:delete> <domain:name>ecom</domain:name> </domain:delete> </delete> <extension> <eurid:ext> <eurid:delete> <eurid:domain> <eurid:deleteDate>2008-06-26T14:40:51.0Z</eurid:deleteDate> </eurid:domain> </eurid:delete> </eurid:ext> </extension> <clTRID>del-ecom</clTRID> </command> </epp>

When an <delete> command has been processed successfully, the server responds with an EPP response with no <resData> element:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>del-ecom</clTRID> <svTRID>eurid-7067601</svTRID> </trID> </response> </epp>

Page 101: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

101

Example 2: Registrars can re-schedule another deletion date without first sending an “undelete” command, by setting the value of “overwriteDeleteDate” to true: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns=http://www.eurid.eu/xml/epp/epp-1.0

xmlns:domain=http://www.eurid.eu/xml/epp/domain-1.0 xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0">

<command> <delete> <domain:delete> <domain:name>domain-to-update-overwrite-true</domain:name> </domain:delete> </delete> <extension> <eurid:ext> <eurid:delete> <eurid:domain> <eurid:deleteDate>2010-01 01T00:00:00.0Z</eurid:deleteDate> <eurid:overwriteDeleteDate>true</eurid:overwriteDeleteDate> </eurid:domain> </eurid:delete> </eurid:ext> </extension> <clTRID>domain-delete-overwrite-00</clTRID> </command> </epp>

When the command has been processed successfully the server responds:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>domain-delete-overwrite-00</clTRID> <svTRID>eurid-6996</svTRID> </trID> </response> </epp>

Page 102: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

102

Undelete domain PURPOSE: To erase the value of the deletion date set by a previous delete domain command. As a delete of a domain name can be scheduled with a delete date in the future, this extension is offered to undo the scheduled delete. The “undelete domain” command can be used as long as the domain name is not yet in quarantine. The structure of the document is very simple:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<undelete> 1

<name> 1 token: 1-255

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <name> Is the domain name to undelete, with or without a trailing .eu (please see <create> domain for details).

Example:

A valid command to undelete the scheduled deletion for the domain name “ecom” would therefore be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <undelete> <domain:undelete> <domain:name>ecom</domain:name> </domain:undelete> </undelete> <clTRID>undel-ecom</clTRID> </command> </epp>

Page 103: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

103

When an <undelete> command has been processed successfully, the server responds with an EPP response with no <resData> element:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>undel-ecom</clTRID> <svTRID>eurid-7067602</svTRID> </trID> </response> </epp>

When an <undelete> command is issued on the domain name (in the example: ήχίδχ.eu) that was not scheduled for deletion then the system reply is the following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2304"> <msg>Object status prohibits operation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Domain [ήχίδχ] is not scheduled for delete</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>undelete-domain-00</clTRID> <svTRID>eurid-61561062</svTRID> </trID> </response> </epp>

Page 104: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

104

Transfer domain PURPOSE: To transfer a domain name from one registrar to another registrar. It is the new registrar (the one the domain name is transferred to) that has to initiate this transaction. Once this command has been received, the initiating registrar will be notified by an automated message. Confirmation by the registrant is obligatory for a transfer. Registrars can initiate transfers using a unique authorisation code given to them by their registrants. The authorisation code is used to pre-confirm the transfer transaction. If no authorisation code is specified in the command, an email is sent to the registrant to ask for a confirmation, either through a secure web page or (as a fallback) by fax. Upon receipt of the confirmation by the registrant (via the authorisation code, via the secure web page, or via fax), EURid will check the data provided. If everything is correct, EURid will accept the transfer. The domain name will be transferred on the day that was specified in the command. Please note that the request will automatically fail if EURid does not receive a confirmation from the registrant within 14 days. A transfer request can be cancelled by the registrar. Upon completion of the transfer, both registrars involved are informed. This transaction can only be used to transfer a domain name from one registrar to another.

It can, however, not be used to change the registrant of the domain. A separate transaction

exists to do this, i.e. “trade domain”.

The structure of the document is:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<transfer> 1 required attrib: op="approve"|

"cancel"|"query"|"reject"|"request"

ATTENTION: Modified by EURid to only accept "request" or “cancel” as a valid attribute.

<name> 1 token: 1-255

<period> 0-1 required attrib: unit = "y"|"m"

value: 1-99

<extension> 0-1

<ext> 1

<transfer> 1 only when op=”request”

<domain> 1

<registrant> 1 token: 3-16

<trDate> 0-1 dateTime

Page 105: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

105

<billing> 1 token: 3-16

<tech> 0-5 token: 3-16

<onsite> 0-5 token: 3-16

<ns> 0-9

<hostAttr> 1-*

<hostName> 1 token: 4-255

<hostAddr> 0-* attribute “ip” value “v4”(default) or “v6” token: 3-45

<nsgroup> 0-9 normalizedString 1-50

<ownerAuthCode> 0-1 token: [0-9]{15}

<cancel> 1 only when op="cancel"

<reason> 1 normalizedString: 1-250

<secDNS:alg> 3 | 5 | 6 | 7

<secDNS:create>

<secDNS:digest> String hexadecimal 40 characters long

<secDNS:digestType> 1

<secDNS:dsData> Delegation signer data

<secDNS:flags> 256 | 257 (value is 256 for ZSK, or 257 for KSK)

<secDNS:infData>

<secDNS:keyData>

<secDNS:keyTag> Normalized string 0-9

<secDNS:maxSigLife> Maximum signature lifetime (in seconds). This field is ignored by EURid.

<secDNS:protocol> 3

<secDNS:pubKey> A base 64 value. Any spaces in the public key will be removed. Maximum is 1024 base64 characters

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <transfer op="request"|"cancel"> Is the command tag to request or to cancel a transfer. The other operations are not implemented.

• <name> Is the domain name to be transferred, with or without a trailing .eu.

• <period> Is the domain validity period. Only accepted values are 1 with unit "y" (year) and 12 with unit "m" (month). This element can be removed. When specified, it must be 1 year or 12 months.

• <registrant> Is the registrant handle of the transferred domain; instead of specifying the handle, you can specify: #AUTO#. The registrant info will then be copied from the current registration.

• <trDate> Is the requested date of the transfer; the default value is the date of the request.

Please be aware that dates in EPP are returned in UTC while scheduled operations will be

performed in Belgian time (CET/CEST).

• <billing>, <tech>, <onsite> Are the different contact handles of the transferred domain. Each contact should belong to the new registrar. Please refer to “create contact” for information on the meaning of each label.

• <ns> Is a set of name servers, with or without IP addresses (only needed as glue records). See also “create domain” for more info.

• <nsgroup> Is a set of name server groups.

Page 106: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

106

• <ownerAuthCode> Providing the authorisation code, the transfer request can be pre-confirmed. An authorisation code always consists of 15 decimal digits. It is valid for 30 calendar days and is linked to one combination of registrant and domain name only.

• <reason> Contains the reason for cancelling the transfer request. The reason will be forwarded by email to the registrant.

• <secDNS:dsData> Contains the DNSSEC related information - Delegation signer data

• <keyTag> Contains keytag value for the associated key

• <digestType>Type of the digest currently only 1 is supported

• <digest> Value of the DS record

• <maxSigLife> Maximum signature lifetime (in seconds). This field is ignored by EURid.

• <keyData> Contains the DNSSEC key information.

• <flags> Indicates the type of the key it can be either 256 for ZSK, or 257 for KSK

• <protocol> Contains protocol value for the associated key, standard value for EURid is 3.

• <alg> Contains the number representing the algorithm

• <pubKey> Contains the public DNSSEC key

Examples:

Overview of the examples

Example Number Summary

1 A simple transfer command example

2 Invalid case: trying to perform a transfer of a domain name that is

already in registrar’s portfolio

3 A transfer with authorisation code

4 Cancellation of a pending transfer request

5 Invalid case: Attempt to transfer that is locked

6 Initiating a transfer with AUTO option

7 Transferring a domain name and link a given keygroup to it

8 Transferring a domain name and link DNSSEC keys

Example 1: A correct transfer command for the domain name “something”, without providing the authorisation code, looks like: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0">

<command> <transfer op="request"> <domain:transfer> <domain:name>something</domain:name> </domain:transfer> </transfer> <extension> <eurid:ext> <eurid:transfer> <eurid:domain> <eurid:registrant>ak4589</eurid:registrant> <eurid:trDate>2005-09-29T22:00:00.0Z</eurid:trDate> <eurid:billing>jj1</eurid:billing> <eurid:tech>mt24</eurid:tech> <eurid:nsgroup>nsgroup-eurid</eurid:nsgroup>

Page 107: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

107

</eurid:domain> </eurid:transfer> </eurid:ext> </extension> <clTRID>trf-001</clTRID> </command> </epp>

When a transfer command has been processed successfully, the server responds with an EPP response with no <resData> element:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>trf-001</clTRID> <svTRID>eurid-6990862</svTRID> </trID> </response> </epp>

Example 2: When the registrar tries to transfer a domain name that is already linked to his account, he will receive an error message:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <transfer op="request"> <domain:transfer> <domain:name>mytestdomain</domain:name> </domain:transfer> </transfer> <extension> <eurid:ext> <eurid:transfer> <eurid:domain> <eurid:registrant>c981095</eurid:registrant> <eurid:trDate>2006-03-21T22:00:00.0Z</eurid:trDate> <eurid:billing>c112575</eurid:billing> <eurid:tech>c112574</eurid:tech> <eurid:nsgroup>nsgroup-eurid</eurid:nsgroup> </eurid:domain> </eurid:transfer> </eurid:ext> </extension> <clTRID>trf-001</clTRID> </command> </epp>

Page 108: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

108

The server will then reply the following message:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2106"> <msg>Object is not eligible for transfer</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>The domain mytestdomain is already yours</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>trf-001</clTRID> <svTRID>eurid-5423267</svTRID> </trID> </response> </epp>

Example 3: A correct transfer command for the domain name “domaintobetransfered” and providing the authorisation code, looks like:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0">

<command> <transfer op="request"> <domain:transfer> <domain:name>domaintobetransfered</domain:name> </domain:transfer> </transfer> <extension> <eurid:ext> <eurid:transfer> <eurid:domain> <eurid:registrant>#auto#</eurid:registrant> <eurid:trDate>2008-04-22T22:00:00.0Z</eurid:trDate> <eurid:billing>c4436955</eurid:billing> <eurid:tech>c4436957</eurid:tech> </eurid:domain> <eurid:ownerAuthCode>238110218175066</eurid:ownerAuthCode> </eurid:transfer> </eurid:ext> </extension> <clTRID>trf-001</clTRID> </command> </epp>

Page 109: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

109

For a correct transaction, the following response is given:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>trf-001</clTRID> <svTRID>eurid-40592831</svTRID> </trID> </response> </epp>

If an erroneous authorisation code has been entered in the request, the response from the system is as follows:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2306"> <msg>Parameter value policy error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>authorisation code owner is invalid or has expired</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>trf-001</clTRID> <svTRID>eurid-40592841</svTRID> </trID> </response> </epp>

Example 4: Cancellation of a pending transfer request: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain=”http://www.eurid.eu/xml/epp/domain-1.0”

xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <transfer op="cancel"> <domain:transfer> <domain:name>domaintransfertobecancelled</domain:name> </domain:transfer> </transfer> <extension> <eurid:ext> <eurid:cancel> <eurid:reason>The reason for cancelling the transfer</eurid:reason> </eurid:cancel> </eurid:ext>

Page 110: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

110

</extension> <clTRID>clTRID0001</clTRID> </command> </epp>

For a correct request, the following response is given:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>clTRID0001</clTRID> <svTRID>eurid-40590647</svTRID> </trID> </response> </epp>

If the registrar does not have a pending transfer request for the domain name, the following response is given:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2304"> <msg>Object status prohibits operation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Transfer not found</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>clTRID0001</clTRID> <svTRID>eurid-40590648</svTRID> </trID> </response> </epp>

Example 5: Initiating a transfer for a locked domain name results in the following error:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2308"> <msg>Data management policy violation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>domain [TransferTest] has invalid status (serverTransferprohibited)</eurid:msg>

Page 111: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

111

</eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-123</svTRID> </trID> </response> </epp>

To detect whether a certain domain name is locked or not, version 2 of the EPP commands “info:domain” and “check:domain” can be used. Please note that filing a transfer request for a locked domain name will result in the allocation of one hit point. Example 6: Initiating a transfer with Auto-command and 2 name servers used: <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0" xsi:schemaLocation="http://www.eurid.eu/xml/epp/eurid-1.0 eurid- 1.0.xsd" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <transfer op="request"> <domain:transfer> <domain:name>test.eu</domain:name> </domain:transfer> </transfer> <extension> <eurid:ext> <eurid:transfer> <eurid:domain> <eurid:registrant>#AUTO#</eurid:registrant> <eurid:billing>c185752</eurid:billing> <eurid:tech>c185793</eurid:tech> <eurid:ns> <domain:hostAttr> <domain:hostName>ns1.eurid.eu</domain:hostName> </domain:hostAttr> <domain:hostAttr><domain:hostName>ns2.eurid.eu</domain:hostName> </domain:hostAttr> </eurid:ns> </eurid:domain> </eurid:transfer> </eurid:ext> </extension> <clTRID>1268963615775</clTRID> </command> </epp>

Page 112: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

112

System reply would be the following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>trf-001</clTRID> <svTRID>eurid-61545445</svTRID> </trID> </response> </epp>

Example 7: Initiating a transfer for a domain name specifying a keygroup:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp-1.0.xsd" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <transfer op="request"> <domain:transfer> <domain:name>avaialebledomainsaname2xr.eu</domain:name> <domain:period unit="y">1</domain:period> </domain:transfer> </transfer> <extension> <eurid:ext> <eurid:transfer> <eurid:domain> <eurid:registrant>c11130723</eurid:registrant> <eurid:billing>c4436955</eurid:billing> <eurid:tech>c4436957</eurid:tech> <eurid:keygroup>lmgpblhauvcmlxyrlldlhxzyzsguzesshqqkubcteacsc</eurid:keygroup> </eurid:domain> </eurid:transfer> </eurid:ext> </extension> </command> </epp>

Page 113: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

113

System reply would be the following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <svTRID>eurid-55684679</svTRID> </trID> </response> </epp>

Example 8: Initiating a transfer for a domain name specifying 4 DNSSEC keys:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp-1.0.xsd" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.0"> <command> <transfer op="request"> <domain:transfer> <domain:name>lzp.eu</domain:name> <domain:period unit="y">1</domain:period> </domain:transfer> </transfer> <extension> <eurid:ext> <eurid:transfer> <eurid:domain> <eurid:registrant>c9232372</eurid:registrant> <eurid:billing>c129179</eurid:billing> <eurid:tech>c7838742</eurid:tech> </eurid:domain> </eurid:transfer> </eurid:ext> <secDNS:create> <secDNS:dsData> <secDNS:keyTag>6615</secDNS:keyTag> <secDNS:alg>7</secDNS:alg> <secDNS:digestType>1</secDNS:digestType> <secDNS:digest>610ec51c45c10233f5ab21e5874ab35a24f4758d</secDNS:digest> <secDNS:maxSigLife>604800</secDNS:maxSigLife> <secDNS:keyData> <secDNS:flags>257</secDNS:flags> <secDNS:protocol>3</secDNS:protocol> <secDNS:alg>7</secDNS:alg> <secDNS:pubKey>AwEAAcTnEOkfH1FsT9EI2BmjMB83uDWXpSp57YHa0v6Xg60Usm3Y2Fct1em y+h0+uDstyUl5eILy9eO2eI67m5r0Lck=</secDNS:pubKey> </secDNS:keyData>

Page 114: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

114

</secDNS:dsData> <secDNS:dsData> <secDNS:keyTag>7434</secDNS:keyTag> <secDNS:alg>7</secDNS:alg> <secDNS:digestType>1</secDNS:digestType> <secDNS:digest>4f5a2c9faaa9eaf18404d048acef39ec5ff1f298</secDNS:digest> <secDNS:maxSigLife>604800</secDNS:maxSigLife> <secDNS:keyData> <secDNS:flags>257</secDNS:flags> <secDNS:protocol>3</secDNS:protocol> <secDNS:alg>7</secDNS:alg> <secDNS:pubKey>AwEAAbsYgvpGRUH9Z0JpgM05Jqi3ghZnF+RQ3+y2MBZBwzmSOPjYENr/Kb+Y RClJB6wCR+GPy82x5WH8dPUaLzj5UY8=</secDNS:pubKey> </secDNS:keyData> </secDNS:dsData> <secDNS:dsData> <secDNS:keyTag>15114</secDNS:keyTag> <secDNS:alg>7</secDNS:alg> <secDNS:digestType>1</secDNS:digestType> <secDNS:digest>e2216fc2c3889f56963df8b211aa5755a7f1f966</secDNS:digest> <secDNS:maxSigLife>604800</secDNS:maxSigLife> <secDNS:keyData> <secDNS:flags>257</secDNS:flags> <secDNS:protocol>3</secDNS:protocol> <secDNS:alg>7</secDNS:alg> <secDNS:pubKey>AwEAAeCQT2XXaLx+ushYsvbeFOXThH7p3L0lhSROL2zyEO1j+Y51KqTU c2H5eakXg9hI3SFRiGfqegN6wxPzPioGWsU=</secDNS:pubKey> </secDNS:keyData> </secDNS:dsData> <secDNS:dsData> <secDNS:keyTag>2460</secDNS:keyTag> <secDNS:alg>7</secDNS:alg> <secDNS:digestType>1</secDNS:digestType> <secDNS:digest>f1cb5cd9243bd884a671000ddaee829434155204</secDNS:digest> <secDNS:maxSigLife>604800</secDNS:maxSigLife> <secDNS:keyData> <secDNS:flags>257</secDNS:flags> <secDNS:protocol>3</secDNS:protocol> <secDNS:alg>7</secDNS:alg> <secDNS:pubKey>AwEAAdwbYlysDKjKJxqmErziaw48nunDZdjMn40V/PCD2bqXzB1D2HLf Lz2ey6zmpvcy6/+k8j+qT7ijeaaxG0zEtMs=</secDNS:pubKey> </secDNS:keyData> </secDNS:dsData> </secDNS:create> </extension> </command> </epp>

Page 115: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

115

System reply would be the following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <svTRID>eurid-61465237</svTRID> </trID> </response> </epp>

Page 116: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

116

Transfer from quarantine PURPOSE: To transfer a domain from another registrar to your portfolio when the domain name is in quarantine. When a registrar deletes a domain name, it will be put in quarantine for 40 days. During this period the domain name can not be registered, updated or transferred via the normal procedure. However, the registrant can ask another registrar to transfer his domain name out of the quarantine. The new registrar has to use the specific “transfer from quarantine” command for this purpose. This makes it explicitly clear what type of transaction the registrar intends to execute. This transaction should be considered as a last resort and as such will have a higher cost (documented on the EURid website). A new registration period begins once the transfer has been processed. It is the new registrar (the one the domain name is transferred to) that has to initiate this transaction. Once this command has been received, the initiating registrar will be notified by an automated message. Confirmation by the registrant is obligatory for a transfer from quarantine. Registrars can initiate transfers using a unique authorisation code given to them by their registrants. The authorisation code is used to pre-confirm the transfer transaction. If no authorisation code is specified in the command, an email is sent to the registrant to ask for a confirmation, either through a secure web page or (as a fallback) by fax. Upon receipt of the confirmation by the registrant (via the authorisation code, via the secure web page, or via fax), EURid will check the data provided. If everything is correct, EURid will accept the transfer. The domain name will be transferred on the day that was specified in the command. Please note that the request will automatically fail if EURid does not receive a confirmation from the registrant within 14 days. A transfer from quarantine request can be cancelled by the registrar. Upon completion of the transfer both registrars involved are informed. The structure of the document is identical to the structure of a normal transfer, except for the tag <transferQ>:

TAG Occurrences

min-max Size + remarks

<epp> 1

<command> 1

<transferq> 1 required attrib: op="request"|"cancel"

<name> 1 token: 1-255

<extension> 0-1

<ext> 1

<transferq> 1 only when op=”request”

<domain> 1

<registrant> 1 token: 3-16

<trDate> 0-1 dateTime

<billing> 1 token: 3-16

Page 117: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

117

<tech> 0-5 token: 3-16

<onsite> 0-5 token: 3-16

<ns> 0-9 token: 4-100

<hostAttr> 1-*

<hostName> 1 token: 4-255

<hostAddr> 0-* attribute “ip” value “v4”(default) or “v6” token: 3-45

<nsgroup> 0-9 normalizedString 1-50

<ownerAuthCode> 0-1 token: [0-9]{15}

<cancel> 1 only when op="cancel"

<reason> 1 normalizedString: 1-250

<secDNS:alg> 3 | 5 | 6 | 7

<secDNS:create>

<secDNS:digest> String hexadecimal 40 characters long

<secDNS:digestType> 1

<secDNS:dsData> Delegation signer data

<secDNS:flags> 256 | 257 Value is 256 for ZSK, or 257 for KSK

<secDNS:infData>

<secDNS:keyData>

<secDNS:keyTag> Normalized string 0-9

<secDNS:maxSigLife> Maximum signature lifetime (in seconds). This field is ignored by EURid.

<secDNS:protocol> 3

<secDNS:pubKey> A base 64 value. Any spaces in the public key will be removed. Maximum is 1024 base64 characters

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <transferq op="request" | "cancel"> Is the command tag to request or to cancel a transfer from quarantine.

• <name> Is the domain name to be transferred from quarantine, with or without a trailing .eu.

• <registrant> Is the registrant handle of the transferred domain, instead of specifying the handle, you can specify: #AUTO#. The registrant info will then be copied from the current registration.

• <trDate> Is the requested date of the transfer, the default value is the date of the request.

Please be aware that dates in EPP are returned in UTC while scheduled operations will be

performed in Belgian time (CET/CEST).

• <billing>, <tech>, <onsite> Are the different contact handles of the transferred domain. Each contact should belong to the new registrar. Please refer to “create contact” for information on the meaning of each label.

• <ns> Is a set of name servers, with or without IP addresses (only needed as glue records).

• <nsgroup> Is a set of name server groups.

• <ownerAuthCode> Providing the authorisation code, the transfer from quarantine request can be pre-confirmed. An authorisation code always consists of 15 decimal digits. It is valid for 30 calendar days and is linked to one combination of registrant and domain name only.

• <reason> Contains the reason for cancelling the transfer from quarantine request. The reason will be forwarded by email to the registrant.

• <secDNS:dsData> Contains the DNSSEC related information - Delegation signer data

Page 118: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

118

• <keyTag> Contains keytag value for the associated key

• <digestType>Type of the digest currently only 1 is supported

• <digest> Value of the DS record

• <maxSigLife> Maximum signature lifetime (in seconds). This field is ignored by EURid.

• <keyData> Contains the DNSSEC key information.

• <flags> Indicates the type of the key it can be either 256 for ZSK, or 257 for KSK

• <protocol> Contains protocol value for the associated key, standard value for EURid is 3.

• <alg> Contains the number representing the algorithm

• <pubKey> Contains the public DNSSEC key

Examples:

Example 1: A valid command to initiate a transfer from quarantine for the domain name “superdomain” without providing the authentication code:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <transferq op="request"> <domain:transferq> <domain:name>superdomain.eu</domain:name> </domain:transferq> </transferq> <extension> <eurid:ext> <eurid:transferq> <eurid:domain> <eurid:registrant>#auto#</eurid:registrant> <eurid:trDate>2002-02-18T22:00:00.0Z</eurid:trDate> <eurid:billing>c11111</eurid:billing> <eurid:tech>c22222</eurid:tech> <eurid:ns> <domain:hostAttr> <domain:hostName>ns1.superdomain.eu</domain:hostName> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns.test.eu</domain:hostName> </domain:hostAttr> </eurid:ns> </eurid:domain> </eurid:transferq> </eurid:ext> </extension> <clTRID>clientref-123233</clTRID> </command> </epp>

Page 119: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

119

When a transfer from quarantine command has been processed successfully, the server responds with an EPP response with no <resData> element:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>clientref-123233</clTRID> <svTRID>eurid-6993784</svTRID> </trID> </response> </epp>

Example 2: A valid command to initiate a transfer from quarantine for the domain name “superdomain” providing the authentication code:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <transferq op="request"> <domain:transferq> <domain:name>superdomain</domain:name> </domain:transferq> </transferq> <extension> <eurid:ext> <eurid:transferq> <eurid:domain> <eurid:registrant>#AUTO#</eurid:registrant> <eurid:trDate>2002-02-18T22:00:00.0Z</eurid:trDate> <eurid:billing>c35420 </eurid:billing> <eurid:tech>c35475</eurid:tech> <eurid:ns> <domain:hostAttr> <domain:hostName>ns1.superdomain.eu</domain:hostName> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns.test.eu</domain:hostName> </domain:hostAttr> </eurid:ns> </eurid:domain> <eurid:ownerAuthCode>249054442531789</eurid:ownerAuthCode> </eurid:transferq> </eurid:ext> </extension> <clTRID>clientref-123233</clTRID> </command> </epp>

Page 120: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

120

For a correct request, the following response is given:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>clientref-123233</clTRID> <svTRID>eurid-6996008</svTRID> </trID> </response> </epp>

Example 3: Below you find an example of a correct cancellation of a pending transfer from quarantine: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain=”http://www.eurid.eu/xml/epp/domain-1.0”

xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <transferq op="cancel"> <domain:transferq> <domain:name>domaintransferqtobecancelled</domain:name> </domain:transferq> </transferq> <extension> <eurid:ext> <eurid:cancel> <eurid:reason>The reason for cancelling the transfer from quarantine</eurid:reason> </eurid:cancel> </eurid:ext> </extension> <clTRID>clTRID0001</clTRID> </command> </epp>

For a correct request, the following response is given:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>clTRID0001</clTRID> <svTRID>eurid-40590647</svTRID> </trID> </response> </epp>

Page 121: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

121

For an incorrect request, for example, the registrar does not have a pending transfer from quarantine request for the domain name at hand; the following response is given:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2304"> <msg>Object status prohibits operation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Transfer from quarantine not found</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>clTRID0001</clTRID> <svTRID>eurid-40590648</svTRID> </trID> </response> </epp>

Page 122: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

122

Trade domain PURPOSE: To transfer a domain from one registrant to another registrant. It is the registrar of the new holder (the one the domain name is transferred to) that has to initiate the trade. When the new registrar has filed the trade request he will receive an automated message confirming that the request has been initiated. An email is at the same time sent to the old registrant (old holder) and to the new registrant (new holder), to ask for a confirmation of the trade, either by web or (as a fallback) by fax. Confirmation by both registrants is obligatory for a trade. Please note that the request will automatically fail if EURid does not receive the confirmations from both registrants within 14 days. A trade request can be cancelled by the registrar. Upon receipt of the confirmations by the registrants, EURid will check the data provided. If everything is correct, EURid will accept the trade. The domain name will be transferred on the day that was specified in the command. Upon completion of the trade both registrars involved are informed. This transaction can be used to trade a domain name from one registrant to another. The

new holder is free to choose a registrar; it is thus possible that the registrar for this domain

remains the same.

The structure of the document is nearly identical to the transfer transaction:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<trade> 1 required attrib: op="request"|"cancel"

<name> 1 token: 1-255

<extension> 0-1

<ext> 1

<trade> 1 only when op="request"

<domain> 1

<registrant> 1 token: 3-16

<trDate> 0-1 DateTime

<billing> 1 token: 3-16

<tech> 0-5 token: 3-16

<onsite> 0-5 token: 3-16

<ns> 0-9 token: 4-100

<hostAttr> 1-*

Page 123: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

123

<hostName> 1 token: 4-255

<hostAddr> 0-* attribute “ip” value “v4”(default) or “v6”

token: 3-45

<nsgroup> 0-9 normalizedString 1-50

<cancel> 1 only when op="cancel"

<reason> 1 normalizedString: 1-250

<secDNS:alg> 3 | 5 | 6 | 7

<secDNS:create>

<secDNS:digest> String hexadecimal 40 characters long

<secDNS:digestType> 1

<secDNS:dsData> Delegation signer data

<secDNS:flags> 256 | 257 Value is 256 for ZSK, or 257 for KSK

<secDNS:infData>

<secDNS:keyData>

<secDNS:keyTag> Normalized string 0-9

<secDNS:maxSigLife> Maximum signature lifetime (in seconds). This field is ignored by EURid.

<secDNS:protocol> 3

<secDNS:pubKey> A base 64 value. Any spaces in the public key will be removed. Maximum is 1024 base64 characters

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <trade op="request" | "cancel"> Is the command tag to request or to cancel a trade.

• <name> Is the domain name to be transferred, with or without a trailing .eu.

• <registrant> Is the new holder (registrant) handle of the transferred domain.

• <trDate> Is the requested date of the trade; the default value is the date of the request.

Please be aware that dates in EPP are returned in UTC while scheduled operations will be

performed in Belgian time (CET/CEST).

• <billing>, <tech>, <onsite> Are the different contact handles of the transferred domain. Each contact should belong to the registrar of the new registrant. Please refer to “create contact” for information on the meaning of each label.

• <ns> Is a set of name servers, with or without IP addresses (only needed as glue records).

• <nsgroup> Is a set of name server groups.

• <reason> Contains the reason for cancelling the trade request. The reason will be forwarded by email to the registrants involved.

• <secDNS:dsData> Contains the DNSSEC related information - Delegation signer data

• <keyTag> Contains keytag value for the associated key

• <digestType>Type of the digest currently only 1 is supported

• <digest> Value of the DS record

• <maxSigLife> Maximum signature lifetime (in seconds). This field is ignored by EURid.

• <keyData> Contains the DNSSEC key information.

• <flags> Indicates the type of the key it can be either 256 for ZSK, or 257 for KSK

• <protocol> Contains protocol value for the associated key, standard value for EURid is 3.

• <alg> Contains the number representing the algorithm

Page 124: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

124

• <pubKey> Contains the public DNSSEC key

Examples:

Example 1: A valid command to file a trade request for the domain name “somethings” would therefore be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0">

<command> <trade op="request"> <domain:trade> <domain:name>somethings</domain:name> </domain:trade> </trade> <extension> <eurid:ext> <eurid:trade> <eurid:domain> <eurid:registrant>c1573194</eurid:registrant> <eurid:trDate>2005-09-29T22:00:00.0Z</eurid:trDate> <eurid:billing>c35420</eurid:billing> <eurid:tech>c35475</eurid:tech> <eurid:nsgroup>nsgroup-eurid</eurid:nsgroup> </eurid:domain> </eurid:trade> </eurid:ext> </extension> <clTRID>trd-001</clTRID> </command> </epp>

When a trade command has been processed successfully, the server responds with an EPP response with no <resData> element:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>trd-001</clTRID> <svTRID>eurid-6996920</svTRID> </trID> </response> </epp>

Page 125: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

125

Example 2: Below you find an example of a correct cancellation of a pending trade: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain=http://www.eurid.eu/xml/epp/domain-1.0

xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <trade op="cancel"> <domain:trade> <domain:name>domaintradetobecancelled</domain:name> </domain:trade> </trade> <extension> <eurid:ext> <eurid:cancel> <eurid:reason>The reason for cancelling the trade</eurid:reason> </eurid:cancel> </eurid:ext> </extension> <clTRID>clTRID0001</clTRID> </command> </epp>

For a correct request, the following response is given:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>clTRID0001</clTRID> <svTRID>eurid-40590647</svTRID> </trID> </response> </epp>

For an incorrect request, for example, the registrar does not have a pending trade request for the domain name at hand; the following response is given:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2304"> <msg>Object status prohibits operation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Trade not found</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>clTRID0001</clTRID>

Page 126: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

126

<svTRID>eurid-40590648</svTRID> </trID> </response> </epp>

Example 3: Initiating a trade for a locked domain name results in the following error:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2308"> <msg>Data management policy violation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>domain [TransferTest] has invalid status (serverTransferprohibited)</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-123</svTRID> </trID> </response> </epp>

To detect whether a certain domain name is locked or not, version 2 of the EPP commands “info:domain” and “check:domain” can be used. Please note that filing a trade request for a locked domain name will result in the allocation of one hit point. Example 4: Initiating trade for a domain name with 4 DNSSEC keys <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp-1.0.xsd" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.0"> <command> <trade op="request"> <domain:trade> <domain:name>ktz.eu</domain:name> </domain:trade> </trade> <extension> <eurid:ext> <eurid:trade> <eurid:domain> <eurid:registrant>c9232372</eurid:registrant> <eurid:billing>c129179</eurid:billing> <eurid:tech>c7838742</eurid:tech> </eurid:domain> </eurid:trade> </eurid:ext>

Page 127: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

127

<secDNS:create> <secDNS:dsData> <secDNS:keyTag>6615</secDNS:keyTag> <secDNS:alg>7</secDNS:alg> <secDNS:digestType>1</secDNS:digestType> <secDNS:digest>e8dadacffab754e9cf40b919d6f698c03309f47c</secDNS:digest> <secDNS:maxSigLife>604800</secDNS:maxSigLife> <secDNS:keyData> <secDNS:flags>257</secDNS:flags> <secDNS:protocol>3</secDNS:protocol> <secDNS:alg>7</secDNS:alg> <secDNS:pubKey>AwEAAcTnEOkfH1FsT9EI2BmjMB83uDWXpSp57YHa0v6Xg60U sm3Y2Fct1emy+h0+uDstyUl5eILy9eO2eI67m5r0Lck=</secDNS:pubKey> </secDNS:keyData> </secDNS:dsData> </secDNS:create> </extension> </command> </epp>

For a correct request, the following response is given:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <svTRID>eurid-61462091</svTRID> </trID> </response> </epp>

Page 128: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

128

Example 4: Initiating trade for a domain name with a keygroup <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp-1.0.xsd" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <trade op="request"> <domain:trade > <domain:name>cxlbbmyncvebyqsum.eu</domain:name> </domain:trade> </trade> <extension> <eurid:ext> <eurid:trade> <eurid:domain> <eurid:registrant>c11130723</eurid:registrant> <eurid:billing>c4436955</eurid:billing> <eurid:tech>c4436957</eurid:tech> <eurid:keygroup>keygroup1</eurid:keygroup> </eurid:domain> </eurid:trade> </eurid:ext> </extension> </command> </epp>

Page 129: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

129

Transfer reminder PURPOSE: To resend transfer and trade confirmation emails. When a trade or transfer is initiated in the EURid system, an email is automatically sent to the current registrant (and in case of a trade, also to the future registrant) to ask for the confirmation of the transaction. Using this command, registrars can resend each confirmation email twice for any pending trade or transfer. If confirmation emails are sent more than twice, the registrar is allocated one hit point. Registrars can send reminder emails for transfers, trades and transfers from quarantine. The structure of the command is:

TAG Occurrences min-max

Size + remarks

<epp> 1

<extension> 1

<ext> 1

<command> 1

<transferRemind> 1

<domainName> 1 token: 1-255

<destination> 1 “owner”|“buyer”

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace prefixes to use.

• <domainName> Is the domain name to be transferred.

• <destination> Is the destination of the reminder email. The reminder will be sent to the email address of the current registrant (“owner”) or the future registrant (“buyer”). In case a transfer has been initiated the email can only be resent to the “owner”. In case a trade has been initiated the email can be resent to the “owner” or the “buyer”.

Examples:

Example 1: The EPP command to send a reminder email to the current registrant can be used for both trade and transfer transactions (including transfer from quarantine). The command is as follows: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <extension> <eurid:ext> <eurid:command> <eurid:transferRemind> <eurid:domainname>abc.eu</eurid:domainname> <eurid:destination>owner</eurid:destination> </eurid:transferRemind> <eurid:clTRID>myCLientID12345</eurid:clTRID> </eurid:command> </eurid:ext> </extension> </epp>

Page 130: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

130

The EPP command to send a reminder email to the future registrant can be used for trade transactions only. The command is as follows: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <extension> <eurid:ext> <eurid:command> <eurid:transferRemind> <eurid:domainname>abc.eu</eurid:domainname> <eurid:destination>buyer</eurid:destination> </eurid:transferRemind> <eurid:clTRID>myCLientID12345</eurid:clTRID> </eurid:command> </eurid:ext> </extension> </epp>

After a successful command the server will reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>myCLientID12345</clTRID> <svTRID>eurid-7219</svTRID> </trID> </response> </epp>

Example 2: Resending a reminder for a trade or transfer that was not initiated by that registrar will result in the following reply from the server:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2201"> <msg>Authorization error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Not allowed to send a reminder</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>myCLientID12345</clTRID> <svTRID>eurid-7212</svTRID> </trID> </response> </epp>

Page 131: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

131

Example 3: Each reminder email can only be sent twice. If this number is exceeded, the registration system sends the following response:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2305"> <msg>Object association prohibits operation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Maximum number of reminders reached for the owner</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>myCLientID12345</clTRID> <svTRID>eurid-46181174</svTRID> </trID> </response> </epp>

Example 4: If the command is used to resend the confirmation email to the “buyer” although the domain name is only being transferred and not traded, the server will reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2306"> <msg>Parameter value policy error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Parameter value policy error</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>myCLientID12345</clTRID> <svTRID>eurid-7183532</svTRID> </trID> </response> </epp>

Please note that registrars would receive one hit point for each situation that resulted in an error message from the server (such as the ones described above).

Page 132: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

132

Check contact for transfer

PURPOSE: To get an indication on whether to request a transfer or a trade for a certain domain name. CheckContactForTransfer is a command that can be used to determine which transaction type (a trade or a transfer) would be most appropriate to use for a given domain name. The command indicates the likelihood that a transaction should be a transfer by performing a sophisticated fuzzy matching between the contact names. The EPP client sends the CheckContactForTransfer command with two arguments: the domain name and the contact ID of the requesting party. The requesting party is the person or organisation that has asked the registrar to perform the transaction. It could be the current registrant (transfer), or the future registrant (trade). The command returns an integer value between 0 and 100 that represents a similarity percentage. The similarity percentage is the likelihood (“probability”) that the transaction should be a transfer. Only complete fields are used for the calculations. For natural persons, the full first and last name is used. For organisations, the full organisation name is used. Before similarity is calculated, the names to be compared:

• have all their special characters, white spaces and punctuation removed; • have all their characters set to lower case.

When the fields are completely identical, a similarity of 100% is returned. 100% similarity is also returned when parts of the fields are identical but the order in which they appear is different. Please note that 100% similarity of the full names is no guarantee that:

• The correct operation is indeed a transfer. The similarity percentage returned only indicates the probability that a transfer would be the correct operation.

• The operation will meet the other approval checks. For instance, even though a high similarity is returned, a transfer can still be rejected when the address is incomplete or incorrect.

The structure of the document is:

TAG Occurrences min-max

Size + remarks

<epp> 1

<extension> 1

<ext> 1

<command> 1

<checkContactForTransfer> 1

<domainName> 1 token: 1-255

<registrant> 1 token: 3-16

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <domainName> Is the domain name to be transferred, without a trailing .eu.

Page 133: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

133

• <registrant> Is the registrant handle of the registrant to be compared against the current holder.

Example:

Example 1: A correct checkContactForTransfer command for the domain name “something” looks like: <?xml version="1.0" encoding="UTF-8"?><epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0" > <extension> <eurid:ext> <eurid:command> <eurid:checkContactForTransfer> <eurid:domainName>something</eurid:domainName> <eurid:registrant>c3456789</eurid:registrant> </eurid:checkContactForTransfer> <eurid:clTRID>123456</eurid:clTRID> </eurid:command> </eurid:ext> </extension> </epp>

If the contact matches the current registrant, the response is as below:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <extension> <eurid:ext> <eurid:response> <eurid:checkContactForTransfer <eurid:percentage>100</eurid:percentage> </eurid:checkContactForTransfer> </eurid:response> </eurid:ext> </extension> <trID> <svTRID>eurid-40594348</svTRID> </trID> </response> </epp>

Please note that the percentage value returned will be an integer ranging from 0 to 100, where 100 is a perfect match and 0 indicates that the two registrants are of different kinds, in other words one organisation and one natural person.

Page 134: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

134

Example 2: If the request was erroneous, e.g. the registrant contact is not an active contact, the system responds in the following format:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2303"> <msg>Object does not exist</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>contact [c8896696] is not an active contact</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-40594347</svTRID> </trID> </response> </epp>

Page 135: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

135

Reactivate domain PURPOSE: To reactivate a domain name in the registration database after a successful delete operation. This transaction is used when a domain name has been deleted and is now in the status “quarantine”. The REACTIVATE will re-establish the name in exactly the same state as before the deletion. The term of the registration will be prolonged with one year. This transaction should be considered as a last resort and as such will have a higher cost (documented on the EURid website). The structure of the document is very simple:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<reactivate> 1

<name> 1 token: 1-255

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <name> Is the domain name to reactivate, with or without a trailing .eu (see <create> domain for details).

Example:

A valid command to reactivate the domain name “ecom” would therefore be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <reactivate> <domain:reactivate> <domain:name>ecom</domain:name> </domain:reactivate> </reactivate> <clTRID>reac-01</clTRID> </command> </epp>

Page 136: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

136

When a reactivate command has been processed successfully, the server responds with an EPP response with no <resData> element:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:contact="http://www.eurid.eu/xml/epp/contact-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0" xmlns:nsgroup="http://www.eurid.eu/xml/epp/nsgroup-1.0" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp-1.0.xsd http://www.eurid.eu/xml/epp/contact-1.0 contact-1.0.xsd http://www.eurid.eu/xml/epp/domain-1.0 domain-1.0.xsd http://www.eurid.eu/xml/epp/eurid-1.0 eurid-1.0.xsd http://www.eurid.eu/xml/epp/nsgroup-1.0 nsgroup-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>OK</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>reac-01</clTRID> <svTRID>eurid-517644</svTRID> </trID> </response> </epp>

Page 137: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

137

Check domain PURPOSE:

- To check the availability of a domain name; - To check the availability date for a domain name currently in quarantine, provided version 2.0 is chosen in the extension; - To check if a domain name has been locked by the registry for the initiation of trades and transfers provided version 2.0 is chosen in the extension. Registrars can optionally specify a version when using the command check-domain. By default, the command currently uses the old version (1.0). The new version (2.0) returns additional information. In order to avoid abusive querying, rate-limits have been introduced for the EPP command check-domain. The rate-limits are for a sliding window of 60 (sixty) seconds and the quotas are as follows:

EPP Command Rate limit

Check-domain version 1.0 360 checks per 60 seconds

Check-domain version 2.0 60 checks per 60 seconds

Please see the XML-examples for more information. The structure of the document:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<check> 1

<name> 1-* token: 1-255

<extension> 0-1

<ext> 1

<check> 1

<domain> 1 attrib: version="1.0"|"2.0"

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <name> Is a list of names, with or without the .eu, to be checked for availability. You can check the availability of several names at the same time.

• <eurid:domain version="2.0"/>: The version “2.0” can be specified to access additional information.

Page 138: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

138

Examples:

Example 1: In this example we want to check the availability of the domain names “mytestdomain”, “availableforregistration”, “application” and “001-atlas”, using version 1.0 of the command:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <check> <domain:check> <domain:name>mytestdomain</domain:name> <domain:name>availableforregistration</domain:name> <domain:name>application</domain:name> <domain:name>001-atlas</domain:name> </domain:check> </check> <clTRID>check-domain-012</clTRID> </command> </epp>

After a successful command the server will return:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:chkData> <domain:cd> <domain:name avail="false">mytestdomain.eu</domain:name> <domain:reason lang="en">in use</domain:reason> </domain:cd> <domain:cd> <domain:name avail="true">availableforregistration.eu</domain:name> </domain:cd> <domain:cd> <domain:name avail="false">application.eu</domain:name> <domain:reason lang="en">quarantine</domain:reason> </domain:cd> <domain:cd> <domain:name avail="false">001-atlas.eu</domain:name> <domain:reason lang="en">application pending</domain:reason> </domain:cd> </domain:chkData> </resData> <extension> <eurid:ext> <eurid:chkData> <eurid:domain> <eurid:cd> <eurid:name accepted="0" expired="0" initial="1" rejected="0">001-atlas.eu</eurid:name>

Page 139: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

139

</eurid:cd> </eurid:domain> </eurid:chkData> </eurid:ext> </extension> <trID> <clTRID>check-domain-012</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

• <domain:name> Contains an attribute "avail" that can either be “false” when the domain is not available for registration or “true” if the domain is available at the time of the check.

In the example above 3 of the 4 domains we checked are not available for registration and 1 is.

If there are Sunrise applications pending for the domain name, the reply will also return an extension with the status of the applications. Example 2: A valid command using version 2.0 would look like:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"

xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <check> <domain:check>

<domain:name>0001-quarantinedomain-0001.eu</domain:name> </domain:check> </check> <extension> <eurid:ext> <eurid:check> <eurid:domain version="2.0"/> </eurid:check> </eurid:ext> </extension> </command> </epp>

Page 140: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

140

In case the domain name is in the status ”quarantine”, the reply from the server will be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:chkData> <domain:cd> <domain:name avail="false">0001-quarantinedomain-0001.eu</domain:name> <domain:reason lang="en">quarantine</domain:reason> </domain:cd> </domain:chkData> </resData> <extension> <eurid:ext> <eurid:chkData> <eurid:domain> <eurid:cd> <eurid:name accepted="0" expired="0" initial="0" rejected="0">0001-quarantinedomain-0001.eu</eurid:name> <eurid:availableDate>2007-09-09T23:00:00.000Z</eurid:availableDate> </eurid:cd> </eurid:domain> </eurid:chkData> </eurid:ext> </extension> <trID> <clTRID>epperl-v0.1-s74883-m7</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

• <eurid:availableDate> In the case of a quarantined domain name version 2.0 returns the

date and time at which the domain name will become available. Please note that the time indicates the start of a 24h time period in which the domain name will be released. Please be aware that dates in EPP are returned in UTC while scheduled operations will be performed in Belgian time (CET/CEST).

Example 3: When the initiation of trades and transfers has been prohibited by the registry, the response from the server will look like:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:chkData>

Page 141: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

141

<domain:cd> <domain:name avail="false">eurid.eu</domain:name> <domain:reason lang="en">in use</domain:reason> </domain:cd> </domain:chkData> </resData> <extension> <eurid:ext> <eurid:chkData> <eurid:domain> <eurid:cd> <eurid:name accepted="0" expired="0" initial="0" rejected="0">eurid.eu</eurid:name> <eurid:status s="serverTransferProhibited"/> </eurid:cd> </eurid:domain> </eurid:chkData> </eurid:ext> </extension> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

• <eurid:status s="serverTransferProhibited"/> If a locked domain name is queried by

using the version 2 command, this additional attribute is returned.

Example 4: Should a registrar exceed the rate-limit for this command, the server reply will look like:

</epp> <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2306"> <msg>Parameter value policy error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Excessive querying</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>epperl-v0.1-s71554-m63</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 142: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

142

Example 5: Check the availability of the domain names dömain.eu, αχα.eu and xn--80aa6d.eu: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <check> <domain:check> <domain:name>dömain.eu</domain:name> <domain:name>αχα.eu</domain:name> <domain:name>xn--80aa6d.eu</domain:name> </domain:check> </check> <clTRID>check-domain-00</clTRID> </command> </epp>

The EPP server sends the following response:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns=http://www.eurid.eu/xml/epp/epp-1.0 xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:chkData> <domain:cd> <domain:name avail="false">dömain.eu</domain:name> <domain:reason lang="en">in use</domain:reason> </domain:cd> <domain:cd> <domain:name avail="true">αχα.eu</domain:name> </domain:cd> <domain:cd> <domain:name avail="true">xn--80aa6d.eu</domain:name> </domain:cd> </domain:chkData> </resData> <extension> <idn:mapping> <idn:name> <idn:ace>xn--80aa6d</idn:ace> <idn:unicode>аха</idn:unicode> </idn:name> <idn:name> <idn:ace>xn--dmain-jua</idn:ace> <idn:unicode>dömain</idn:unicode> </idn:name> <idn:name> <idn:ace>xn--mxaa9d</idn:ace> <idn:unicode>αχα</idn:unicode> </idn:name> </idn:mapping> </extension> <trID>

Page 143: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

143

<clTRID>check-domain-00</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

The responses for versions 1.0 and 2.0 of <check domain> have been adapted to include the <idn:mapping> extension.

For IDN domain names the result will also contain the following fields in the extension: <idn:mapping>

<idn:name>

<idn:ace></idn:ace>

<idn:unicode></idn:unicode>

</idn:name>

</idn:mapping>

• < idn:ace > Contains the registered IDN domain name in the ACE representation.

• <idn:unicode > Contains the registered IDN domain name in the Unicode representation

IDN Extension for IDN domain names always displays the both notations: Unicode and ACE. The reply contains the domain name queried in the format used in the command. Please note that for IDN domain names in Unicode the reply can be different due to a Nameprepping (RFC 3490/3491)

Example 6: Check the domain name ᾀᾁ.eu (nameprep transformation of an unicode domain name): <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <check> <domain:check>

<domain:name>ᾀᾁ.eu</domain:name> </domain:check> </check> <clTRID>check-domain-00</clTRID> </command> </epp>

Page 144: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

144

The EPP server sends the following response:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns=http://www.eurid.eu/xml/epp/epp-1.0 xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:chkData> <domain:cd>

<domain:name avail="false">ἀιἁι.eu</domain:name> <domain:reason lang="en">in use</domain:reason> </domain:cd> </domain:chkData> </resData> <extension> <idn:mapping> <idn:name> <idn:ace>xn--uxaa160sfa</idn:ace>

<idn:unicode>ἀιἁι</idn:unicode> </idn:name> </idn:mapping> </extension> <trID> <clTRID>check-domain-00</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

The domain name and its Unicode representation have been transformed by a nameprep. In such case the returned output does not contain the original version of the requested domain name.

Page 145: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

145

Info domain PURPOSE: To retrieve the current information about a domain name. Registrars can optionally specify a version when using the command info-domain. By default, the command currently uses the old versions (1.0). The new version (2.0) returns additional information. A registrar can only request information about a domain name he is currently managing. Domain names under the management of another registrar will not return any info. There is only one exception: using version 2.0 a registrar can also retrieve information about a pending trade or transfer that has been initiated for that domain name by the querying registrar. In order to avoid abusive querying, a rate-limit has been introduced for the EPP command info-domain. The rate-limit is for a sliding window of 60 (sixty) seconds and the quota is as follows:

EPP Command Rate limit

Info-domain 180 checks per 60 seconds

Please see the XML-examples for more information. The structure of the document:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<info> 1

<name> 1 token: 1-255

attrib: hosts="all"|"del"|"none"|"sub"

<extension> 0-1

<ext> 1

<info> 1

<domain> 1 attrib: version="1.0"| "2.0"

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <name> Is the domain name, with or without the .eu extension; the attribute “hosts” is ignored (its default value is “all”).

• <eurid:domain version="2.0"/>: The version “2.0” can be specified to access additional information.

Page 146: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

146

Example version 1.0:

Example 1: In this example we want to retrieve information regarding the domain name mytestdomain3.eu:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <info> <domain:info> <domain:name>mytestdomain3</domain:name> </domain:info> </info> <clTRID>info-domain-011</clTRID> </command> </epp>

When an info command has been processed successfully, the EPP <resData> element contains a child element <domain:infData> which contains all information related to the domain:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>mytestdomain3.eu</domain:name> <domain:roid>2221881-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c972723</domain:registrant> <domain:contact type="billing">c112575</domain:contact> <domain:contact type="tech">c396292</domain:contact> <domain:ns> <domain:hostAttr> <domain:hostName>ns.anything.eu</domain:hostName> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns.everything.eu</domain:hostName> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns.unknown.eu</domain:hostName> </domain:hostAttr> </domain:ns> <domain:clID>a000005</domain:clID> <domain:crID>a000005</domain:crID> <domain:crDate>2006-05-21T12:19:25.000Z</domain:crDate> <domain:upID>a000005</domain:upID> <domain:upDate>2007-05-21T11:09:25.000Z</domain:upDate> <domain:exDate>2009-05-31T21:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension>

Page 147: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

147

<eurid:ext> <eurid:infData> <eurid:domain> <eurid:nsgroup>epp-nsgroup1</eurid:nsgroup> </eurid:domain> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>info-domain-011</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

• <domain:name> Is the domain name queried.

• <domain:roid> Is the Repository Object IDentifier assigned to the object when the object was created.

• <domain:status> Is the current status of the object. Currently only the "ok" status is supported.

• <domain:registrant> Is the contact handle of the current registrant of the domain.

• <domain:contact> Is a list of all contact handles related to the domain.

• <domain:ns> Is a list of all name servers associated to the domain.

• <domain:clID> Is the identifier of the sponsoring registrar.

• <domain:crID> Is the identifier of the registrar who created the object (in the EURID implementation, this is always the same as clID).

• <domain:crDate> Is the UTC date/time of object creation. Please be aware that dates in EPP are returned in UTC while scheduled operations will be performed in Belgian time (CET/CEST).

• <domain:upID> Is the identifier of the client who last updated the object.

• <domain:upDate> Is the UTC date/time of the last object update.

• <domain:exDate> Is the UTC expiration date/time of the object. Please be aware that dates in EPP are returned in UTC while scheduled operations will be performed in Belgian time (CET/CEST).

• <eurid:nsgroup> If a name server group has been attached to the domain, it will be listed in the extension.

Examples version 2.0:

Example 2: A valid command using version 2.0 would look like:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0">

<command> <info> <domain:info>

<domain:name>0001-inusedomain-0001-test.eu</domain:name> </domain:info> </info> <extension> <eurid:ext> <eurid:info>

Page 148: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

148

<eurid:domain version="2.0"/> </eurid:info> </eurid:ext> </extension> <clTRID>info-domain-00</clTRID> </command> </epp>

In the following you will find an overview of EPP server replies in different situations. For the sake of completeness we will also give the corresponding replies in case version 1.0 would have been used. Reply 1.1: Domain is IN USE and belongs to the querying registrar (version: 2.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>0001-inusedomain-0001-test.eu</domain:name> <domain:roid>3787937-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c195332</domain:registrant> <domain:contact type="billing">c31</domain:contact> <domain:contact type="tech">c34</domain:contact> <domain:clID>a000005</domain:clID> <domain:crID>a000005</domain:crID> <domain:crDate>2007-08-03T16:43:44.000Z</domain:crDate> <domain:upID>a000005</domain:upID> <domain:upDate>2007-08-03T16:46:16.000Z</domain:upDate> <domain:exDate>2009-08-31T21:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:nsgroup>test</eurid:nsgroup> <eurid:onhold>false</eurid:onhold> <eurid:quarantined>false</eurid:quarantined> </eurid:domain> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>0001-inusedomain-0001-test</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 149: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

149

The output of the version 2 command returns additional information:

• <eurid:onhold> Contains the value “true” when the domain is “on hold” or “false” if the domain is not “on hold”.

• <eurid:quarantined> Contains the value “true” if the domain name is in quarantine or “false” if the domain name is not in quarantine.

Reply 1.2: Domain is IN USE and belongs to the querying registrar (version: 1.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>0001-inusedomain-0001-test.eu</domain:name> <domain:roid>3787937-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c195332</domain:registrant> <domain:contact type="billing">c31</domain:contact> <domain:contact type="tech">c34</domain:contact> <domain:clID>a000005</domain:clID> <domain:crID>a000005</domain:crID> <domain:crDate>2007-08-03T16:43:44.000Z</domain:crDate> <domain:upID>a000005</domain:upID> <domain:upDate>2007-08-03T16:46:16.000Z</domain:upDate> <domain:exDate>2009-08-31T21:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:nsgroup>test</eurid:nsgroup> </eurid:domain> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>0001-inusedomain-0001-test</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 150: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

150

Reply 2.1: Domain is IN USE, belongs to the querying registrar and is scheduled for deletion (version: 2.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>0001-scheduledfordelete-0001-test.eu</domain:name> <domain:roid>3787636-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c195332</domain:registrant> <domain:contact type="billing">c31</domain:contact> <domain:contact type="tech">c34</domain:contact> <domain:clID>a000005</domain:clID> <domain:crID>a000005</domain:crID> <domain:crDate>2007-08-03T14:50:19.000Z</domain:crDate> <domain:upID>a000005</domain:upID> <domain:upDate>2007-08-03T16:46:58.000Z</domain:upDate> <domain:exDate>2009-08-31T21:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:nsgroup>test</eurid:nsgroup> <eurid:onhold>false</eurid:onhold> <eurid:quarantined>false</eurid:quarantined> <eurid:deletionDate>2009-07- 31T18:00:00.000Z</eurid:deletionDate> </eurid:domain> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>0001-scheduledfordelete-0001-test</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

The output of the version 2 command returns additional information:

• <eurid:onhold> Contains the value “true” when the domain is “on hold” or “false” if the domain is not “on hold”.

• <eurid:quarantined> Contains the value “true” if the domain name is in quarantine or “false” if the domain name is not in quarantine.

• <eurid:deletionDate> Is the date on which the domain name will be deleted. Note that dates in EPP are returned in UTC, while scheduled operations are performed in local Belgian time (CET/CEST).

Page 151: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

151

Reply 2.2: Domain is IN USE, belongs to the querying registrar and is scheduled for deletion (version: 1.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>0001-scheduledfordelete-0001-test.eu</domain:name> <domain:roid>3787636-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c195332</domain:registrant> <domain:contact type="billing">c31</domain:contact> <domain:contact type="tech">c34</domain:contact> <domain:clID>a000005</domain:clID> <domain:crID>a000005</domain:crID> <domain:crDate>2007-08-03T14:50:19.000Z</domain:crDate> <domain:upID>a000005</domain:upID> <domain:upDate>2007-08-03T16:46:58.000Z</domain:upDate> <domain:exDate>2009-08-31T21:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:nsgroup>test</eurid:nsgroup> </eurid:domain> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>0001-scheduledfordelete-0001-test</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Reply 3.1: Domain is in QUARANTINE and belongs to the querying registrar (version: 2.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>0001-quarantinedomain-0001.eu</domain:name> <domain:roid>3787640-EURID</domain:roid> <domain:status s="ok"/>

Page 152: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

152

<domain:registrant>c195332</domain:registrant> <domain:contact type="billing">c31</domain:contact> <domain:contact type="tech">c34</domain:contact> <domain:clID>a000005</domain:clID> <domain:crID>a000005</domain:crID> <domain:crDate>2007-08-03T14:51:37.000Z</domain:crDate> <domain:upID>a000005</domain:upID> <domain:upDate>2007-08-03T14:51:37.000Z</domain:upDate> <domain:exDate>2009-08-31T21:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:onhold>false</eurid:onhold> <eurid:quarantined>true</eurid:quarantined> <eurid:availableDate>2007-09- 09T23:00:00.000Z</eurid:availableDate> <eurid:deletionDate>2007-08- 03T14:00:00.000Z</eurid:deletionDate> </eurid:domain> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>0001-quarantinedomain-0001</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

The output of the version 2 command returns additional information:

• <eurid:onhold> Contains the value “true” when the domain is “on hold” or “false” if the domain is not “on hold”.

• <eurid:quarantined> Contains the value “true” if the domain name is in quarantine or “false” if the domain name is not in quarantine.

• <eurid:availableDate> In the case of a quarantined domain name, version 2.0 returns the date and time at which the domain name will become available. Note that the time given indicates the start of a 24h time period in which the domain name will be released. Also note that dates in EPP are returned in UTC, while scheduled operations are performed in local Belgian time (CET/CEST).

• <eurid:deletionDate> Is the date on which the domain name will be deleted. Note that dates in EPP are returned in UTC, while scheduled operations are performed in local Belgian time (CET/CEST).

Page 153: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

153

Reply 3.2: Domain is in QUARANTINE and belongs to the querying registrar (version: 1.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <response> <result code="2303"> <msg>Object does not exist</msg> <value> <domain:name>0001-quarantinedomain-0001.eu</domain:name> </value> </result> <trID> <clTRID>0001-quarantinedomain-0001</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Reply 4.1: Domain is ON HOLD and belongs to the querying registrar (version: 2.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>0001-domainonhold-0001-test.eu</domain:name> <domain:roid>3787823-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c8033037</domain:registrant> <domain:contact type="billing">c31</domain:contact> <domain:contact type="tech">c34</domain:contact> <domain:clID>a000005</domain:clID> <domain:crID>a000005</domain:crID> <domain:crDate>2007-08-03T16:01:26.000Z</domain:crDate> <domain:upID>a000005</domain:upID> <domain:upDate>2007-08-03T16:49:58.000Z</domain:upDate> <domain:exDate>2009-08-31T21:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:nsgroup>test</eurid:nsgroup> <eurid:onhold>true</eurid:onhold> <eurid:quarantined>false</eurid:quarantined> </eurid:domain> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>0001-domainonhold-0001-test</clTRID>

Page 154: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

154

<svTRID>eurid-0</svTRID> </trID> </response> </epp>

The output of the version 2 command returns additional information:

• <eurid:onhold> Contains the value “true” when the domain is “on hold” or “false” if the domain is not “on hold”.

• <eurid:quarantined> Contains the value “true” if the domain name is in quarantine or “false” if the domain name is not in quarantine.

Reply 4.2: Domain is ON HOLD and belongs to the querying registrar (version: 1.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>domain-name-onhold.eu </domain:name> <domain:roid>3787823-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c8033037</domain:registrant> <domain:contact type="billing"> c31</domain:contact> <domain:contact type="tech">c34</domain:contact> <domain:clID>a000005</domain:clID> <domain:crID>a000005</domain:crID> <domain:crDate>2007-08-03T16:01:26.000Z</domain:crDate> <domain:upID>a000005</domain:upID> <domain:upDate>2007-08-03T16:49:58.000Z</domain:upDate> <domain:exDate>2009-08-31T21:59:59.999Z</domain:exDate> </domain:infData> </resData> <trID> <clTRID>info-domain-00</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 155: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

155

Reply 5.1: Domain is IN USE and a trade has been initiated by the querying registrar (version: 2.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>0001-internaltradedomain-0001-test.eu</domain:name> <domain:roid>3787827-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c195332</domain:registrant> <domain:contact type="billing">c31</domain:contact> <domain:contact type="tech">c34</domain:contact> <domain:clID>a000005</domain:clID> <domain:crID>a000005</domain:crID> <domain:crDate>2007-08-03T16:02:21.000Z</domain:crDate> <domain:upID>a000005</domain:upID> <domain:upDate>2007-08-03T16:50:25.000Z</domain:upDate> <domain:exDate>2009-08-31T21:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:nsgroup>test</eurid:nsgroup> <eurid:onhold>false</eurid:onhold> <eurid:quarantined>false</eurid:quarantined> <eurid:pendingTransaction> <eurid:trade> <eurid:domain> <eurid:registrant>c7557462</eurid:registrant> <eurid:trDate>2007-07-30T22:00:00.000Z</eurid:trDate> <eurid:billing>c31</eurid:billing> <eurid:tech>c34</eurid:tech> </eurid:domain> <eurid:initiationDate>2007-08- 03T16:19:58.000Z</eurid:initiationDate> <eurid:status>NotYetApproved</eurid:status> <eurid:replySeller>NoAnswer</eurid:replySeller> <eurid:replyBuyer>NoAnswer</eurid:replyBuyer> </eurid:trade> </eurid:pendingTransaction> </eurid:domain> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>0001-internaltradedomain-0001-test</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 156: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

156

The output of the version 2 command returns additional information regarding the transaction that has been initiated:

• <eurid:pendingTransaction> Opens a block that contains information regarding the pending transaction.

• <eurid:trade> Indicates the type of transaction: <trade>, <transfer> or <transferq>. • <eurid:registrant> The contact handle of the registrant to be linked to the domain name

registration once the transaction has been completed.

• <eurid:trDate> The requested date of the transaction. Please be aware that dates in EPP are returned in UTC, while scheduled operations are performed in local Belgian time (CET/CEST).

• <eurid:billing>, <eurid:tech>, <eurid:onsite> The different contact handles of the transferred domain. Please refer to “create contact” for information on the meaning of each label.

• <eurid:initiationDate> The date on which the registry’s system received the request. • <eurid:status> The status of the pending transaction. Possible values are:

o NotYetApproved: the transaction still needs at least one confirmation (registrant(s), registry).

o ApprovedAndScheduled: all involved parties have approved the transaction but the transaction has not yet been executed.

• <eurid:replySeller> (in case of a trade) or <eurid:replyOwner> (in case of a transfer

or transferq) The status of the current domain name holder’s reply. Possible values are: NoAnswer, FaxRequested, ReplyReceived and Approved.

• <eurid:replyBuyer> (in case of a trade) The status of the future domain name holder’s reply. Possible values are: NoAnswer, FaxRequested, ReplyReceived and Approved.

Reply 5.2: Domain is IN USE and a trade has been initiated by the querying registrar (version: 1.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>0001-internaltradedomain-0001-test.eu</domain:name> <domain:roid>3787827-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c195332</domain:registrant> <domain:contact type="billing">c31</domain:contact> <domain:contact type="tech">c34</domain:contact> <domain:clID>a000005</domain:clID> <domain:crID>a000005</domain:crID> <domain:crDate>2007-08-03T16:02:21.000Z</domain:crDate> <domain:upID>a000005</domain:upID> <domain:upDate>2007-08-03T16:50:25.000Z</domain:upDate> <domain:exDate>2009-08-31T21:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData>

Page 157: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

157

<eurid:domain> <eurid:nsgroup>test</eurid:nsgroup> </eurid:domain> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>0001-internaltradedomain-0001-test</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Reply 6.1: Domain is IN USE and a trade has been initiated by a registrar other than the querying registrar (version: 2.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>0001-tradedomain-0001-test.eu</domain:name> <domain:roid>3787767-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c195332</domain:registrant> <domain:contact type="billing">c31</domain:contact> <domain:contact type="tech">c34</domain:contact> <domain:clID>a000005</domain:clID> <domain:crID>a000005</domain:crID> <domain:crDate>2007-08-03T15:38:15.000Z</domain:crDate> <domain:upID>a000005</domain:upID> <domain:upDate>2007-08-03T16:51:06.000Z</domain:upDate> <domain:exDate>2009-08-31T21:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:nsgroup>test</eurid:nsgroup> <eurid:onhold>false</eurid:onhold> <eurid:quarantined>false</eurid:quarantined> </eurid:domain> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>0001-tradedomain-0001-test</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 158: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

158

In this case no additional information regarding the initiated trade is returned. Reply 6.2: Domain is IN USE and a trade has been initiated by a registrar other than the querying registrar (version: 1.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>0001-tradedomain-0001-test.eu</domain:name> <domain:roid>3787767-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c195332</domain:registrant> <domain:contact type="billing">c31</domain:contact> <domain:contact type="tech">c34</domain:contact> <domain:clID>a000005</domain:clID> <domain:crID>a000005</domain:crID> <domain:crDate>2007-08-03T15:38:15.000Z</domain:crDate> <domain:upID>a000005</domain:upID> <domain:upDate>2007-08-03T16:51:06.000Z</domain:upDate> <domain:exDate>2009-08-31T21:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:nsgroup>test</eurid:nsgroup> </eurid:domain> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>0001-tradedomain-0001-test</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 159: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

159

Reply 7.1: Domain is IN USE and belongs to a registrar other than the querying registrar (version: 2.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="2201"> <msg>Authorization error</msg> </result> <trID> <clTRID>registry</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Reply 7.2: Domain is IN USE and belongs to a registrar other than the querying registrar (version: 1.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="2201"> <msg>Authorization error</msg> </result> <trID> <clTRID>registry</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Reply 8.1: Domain is ON HOLD and belongs to a registrar other than the querying registrar (version: 2.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="2201"> <msg>Authorization error</msg> </result> <trID> <clTRID>0001-otherdomainonhold-0001-test</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 160: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

160

Reply 8.2: Domain is ON HOLD and belongs to a registrar other than the querying registrar (version: 1.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="2201"> <msg>Authorization error</msg> </result> <trID> <clTRID>0001-otherdomainonhold-0001-test</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Reply 9.1: Domain is IN USE, belongs to a registrar other than the querying registrar and a trade has been initiated by the querying registrar (version: 2.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>0001-domaintrade-0001-test.eu</domain:name> <domain:roid>0-EURID</domain:roid> <domain:clID>#non-disclosed#</domain:clID> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:onhold>false</eurid:onhold> <eurid:quarantined>false</eurid:quarantined> <eurid:pendingTransaction> <eurid:trade> <eurid:domain> <eurid:registrant>c7557462</eurid:registrant> <eurid:trDate>2007-07-30T22:00:00.000Z</eurid:trDate> <eurid:billing>c31</eurid:billing> <eurid:tech>c34</eurid:tech> </eurid:domain> <eurid:initiationDate>2007-08- 03T16:21:44.000Z</eurid:initiationDate> <eurid:status>NotYetApproved</eurid:status> <eurid:replySeller>NoAnswer</eurid:replySeller> <eurid:replyBuyer>NoAnswer</eurid:replyBuyer> </eurid:trade> </eurid:pendingTransaction> </eurid:domain> </eurid:infData> </eurid:ext>

Page 161: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

161

</extension> <trID> <clTRID>0001-domaintrade-0001-test</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

The output of the version 2 command returns additional information regarding the transaction that has been initiated:

• <eurid:pendingTransaction> Opens a block that contains information regarding the pending transaction.

• <eurid:trade> Indicates the type of transaction: <trade>, <transfer> or <transferq>. • <eurid:registrant> The contact handle of the registrant to be linked to the domain name

registration once the transaction has been completed.

• <eurid:trDate> The requested date of the transaction. Please be aware that dates in EPP are returned in UTC, while scheduled operations are performed in local Belgian time (CET/CEST).

• <eurid:billing>, <eurid:tech>, <eurid:onsite> The different contact handles of the transferred domain. Please refer to “create contact” for information on the meaning of each label.

• <eurid:initiationDate> The date on which the registry’s system received the request. • <eurid:status> The status of the pending transaction. Possible values are:

o NotYetApproved: the transaction still needs at least one confirmation (registrant(s), registry).

o ApprovedAndScheduled: all involved parties have approved the transaction but the transaction has not yet been executed.

• <eurid:replySeller> (in case of a trade) or <eurid:replyOwner> (in case of a transfer

or transferq) The status of the current domain name holder’s reply. Possible values are: NoAnswer, FaxRequested, ReplyReceived and Approved.

• <eurid:replyBuyer> (in case of a trade) The status of the future domain name holder’s reply. Possible values are: NoAnswer, FaxRequested, ReplyReceived and Approved.

Reply 9.2: Domain is IN USE, belongs to a registrar other than the querying registrar and a trade has been initiated (version: 1.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="2201"> <msg>Authorization error</msg> </result> <trID> <clTRID>0001-domaintrade-0001-test</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 162: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

162

Reply 10.1: Domain is IN USE, belongs to a registrar other than the querying registrar and a transfer has been initiated by the querying registrar (version: 2.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>0001-domaintransfer-0001-test.eu</domain:name> <domain:roid>0-EURID</domain:roid> <domain:clID>#non-disclosed#</domain:clID> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:onhold>false</eurid:onhold> <eurid:quarantined>false</eurid:quarantined> <eurid:pendingTransaction> <eurid:transfer> <eurid:domain> <eurid:registrant>c7557462</eurid:registrant> <eurid:trDate>2007-07-30T22:00:00.000Z</eurid:trDate> <eurid:billing>c31</eurid:billing> <eurid:tech>c34</eurid:tech> </eurid:domain> <eurid:initiationDate>2007-08- 03T16:22:19.000Z</eurid:initiationDate> <eurid:status>NotYetApproved</eurid:status> <eurid:replyOwner>NoAnswer</eurid:replyOwner> </eurid:transfer> </eurid:pendingTransaction> </eurid:domain> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>0001-domaintransfer-0001-test</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

The output of the version 2 command returns additional information regarding the transaction that has been initiated:

• <eurid:pendingTransaction> Opens a block that contains information regarding the pending transaction.

• <eurid:trade> Indicates the type of transaction: <trade>, <transfer> or <transferq>. • <eurid:registrant> The contact handle of the registrant to be linked to the domain name

registration once the transaction has been completed.

Page 163: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

163

• <eurid:trDate> The requested date of the transaction. Please be aware that dates in EPP are returned in UTC, while scheduled operations are performed in local Belgian time (CET/CEST).

• <eurid:billing>, <eurid:tech>, <eurid:onsite> The different contact handles of the transferred domain. Please refer to “create contact” for information on the meaning of each label.

• <eurid:initiationDate> The date on which the registry’s system received the request. • <eurid:status> The status of the pending transaction. Possible values are:

o NotYetApproved: the transaction still needs at least one confirmation (registrant(s), registry).

o ApprovedAndScheduled: all involved parties have approved the transaction but the transaction has not yet been executed.

• <eurid:replySeller> (in case of a trade) or <eurid:replyOwner> (in case of a transfer

or transferq) The status of the current domain name holder’s reply. Possible values are: NoAnswer, FaxRequested, ReplyReceived and Approved.

• <eurid:replyBuyer> (in case of a trade) The status of the future domain name holder’s reply. Possible values are: NoAnswer, FaxRequested, ReplyReceived and Approved.

Reply 10.2: Domain is IN USE, belongs to a registrar other than the querying registrar and a transfer has been initiated (version: 1.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="2201"> <msg>Authorization error</msg> </result> <trID> <clTRID>0001-domaintransfer-0001-test</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Reply 11.1: Domain is IN USE, belongs to the querying registrar and the initiation of trades and transfers has been prohibited by the registry (version: 2.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>eurid.eu</domain:name> <domain:roid>2624530-EURID</domain:roid> <domain:status s="serverTransferProhibited"/> <domain:status s="ok"/> <domain:registrant>c1487742</domain:registrant> <domain:contact type="billing">c35420</domain:contact> <domain:contact type="tech">c35475</domain:contact> <domain:clID>a000005</domain:clID>

Page 164: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

164

<domain:crID>a000005</domain:crID> <domain:crDate>2009-01-27T14:44:48.000Z</domain:crDate> <domain:upID>a000005</domain:upID> <domain:upDate>2009-01-27T14:44:48.000Z</domain:upDate> <domain:exDate>2010-01-31T22:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:onhold>false</eurid:onhold> <eurid:quarantined>false</eurid:quarantined> </eurid:domain> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>info-domain-00</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

The output of the version 2 command returns additional information:

• <domain:status s="serverTransferProhibited"/> If a locked domain name is queried by using the version 2 command, this additional attribute is returned.

Reply 11.2: Domain is IN USE, belongs to the querying registrar and the initiation of trades and transfers has been prohibited by the registry (version: 1.0):

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>eurid.eu</domain:name> <domain:roid>2624530-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c1487742</domain:registrant> <domain:contact type="billing">c35420</domain:contact> <domain:contact type="tech">c35475</domain:contact> <domain:clID>a000005</domain:clID> <domain:crID>a000005</domain:crID> <domain:crDate>2009-01-27T14:44:48.000Z</domain:crDate> <domain:upID>a000005</domain:upID> <domain:upDate>2009-01-27T14:44:48.000Z</domain:upDate> <domain:exDate>2010-01-31T22:59:59.999Z</domain:exDate> </domain:infData> </resData> <trID> <clTRID>info-domain-00</clTRID> <svTRID>eurid-0</svTRID>

Page 165: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

165

</trID> </response> </epp>

Example:3 A valid command used for an IDN domain name (dömain.eu) would look like (version1): <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <info> <domain:info> <domain:name>dömain.eu</domain:name> </domain:info> </info> <clTRID>info-domain-00</clTRID> </command> </epp>

Reply 3: IDN domain name is IN USE, belongs to the querying registrar.

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns=http://www.eurid.eu/xml/epp/epp-1.0 xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>dömain.eu</domain:name> <domain:roid>17941-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c100000</domain:registrant> <domain:contact type="billing">c100003</domain:contact> <domain:contact type="tech">c100002</domain:contact> <domain:clID>a100000</domain:clID> <domain:crID>a100000</domain:crID> <domain:crDate>2009-10-14T08:44:50.000Z</domain:crDate> <domain:upID>a100000</domain:upID> <domain:upDate>2009-10-14T08:44:50.000Z</domain:upDate> <domain:exDate>2010-10-31T22:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <idn:mapping> <idn:name> <idn:ace>xn--dmain-jua</idn:ace> <idn:unicode>dömain</idn:unicode> </idn:name> </idn:mapping> </extension> <trID> <clTRID>info-domain-00</clTRID> <svTRID>eurid-0</svTRID>

Page 166: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

166

</trID> </response> </epp>

The responses for versions 1.0 and 2.0 of <info domain> have been adapted to include the <idn:mapping> extension.

For IDN domain names the result will also contain the following fields in the extension: <idn:mapping>

<idn:name>

<idn:ace></idn:ace>

<idn:unicode></idn:unicode>

</idn:name>

</idn:mapping>

• < idn:ace > Contains the registered IDN domain name in the ACE representation.

• <idn:unicode > Contains the registered IDN domain name in the Unicode representation

IDN Extension for IDN domain names always displays the both notations: Unicode and ACE. The reply contains the domain name queried in the format used in the command. Please note that for IDN domain names in Unicode the reply can be different due to a Nameprepping (RFC 3490/3491)

Example:4 A valid command used for an IDN domain name (dömain.eu) would look like (version 2): <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <info> <domain:info> <domain:name>dömain.eu</domain:name> </domain:info> </info> <extension> <eurid:ext> <eurid:info> <eurid:domain version="2.0"/> </eurid:info> </eurid:ext> </extension> <clTRID>info-domain-00</clTRID> </command> </epp>

Page 167: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

167

Reply 3: IDN domain name is IN USE, belongs to the querying registrar.

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns=http://www.eurid.eu/xml/epp/epp-1.0 xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>dömain.eu</domain:name> <domain:roid>17941-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c100000</domain:registrant> <domain:contact type="billing">c100003</domain:contact> <domain:contact type="tech">c100002</domain:contact> <domain:clID>a100000</domain:clID> <domain:crID>a100000</domain:crID> <domain:crDate>2009-10-14T08:44:50.000Z</domain:crDate> <domain:upID>a100000</domain:upID> <domain:upDate>2009-10-14T08:44:50.000Z</domain:upDate> <domain:exDate>2010-10-31T22:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:onhold>false</eurid:onhold> <eurid:quarantined>false</eurid:quarantined> </eurid:domain> </eurid:infData> </eurid:ext> <idn:mapping> <idn:name> <idn:ace>xn--dmain-jua</idn:ace> <idn:unicode>dömain</idn:unicode> </idn:name> </idn:mapping> </extension> <trID> <clTRID>info-domain-00</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 168: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

168

Example:5 A valid command used for an IDN domain name (xn--dmain-ju.eu) would look like (version1): <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <info> <domain:info> <domain:name>xn--dmain-jua.eu</domain:name> </domain:info> </info> <clTRID>info-domain-00</clTRID> </command> </epp>

Reply 5: IDN domain name is IN USE, belongs to the querying registrar.

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name> xn--dmain-jua.eu</domain:name> <domain:roid>17941-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c100000</domain:registrant> <domain:contact type="billing">c100003</domain:contact> <domain:contact type="tech">c100002</domain:contact> <domain:clID>a100000</domain:clID> <domain:crID>a100000</domain:crID> <domain:crDate>2009-10-14T08:44:50.000Z</domain:crDate> <domain:upID>a100000</domain:upID> <domain:upDate>2009-10-14T08:44:50.000Z</domain:upDate> <domain:exDate>2010-10-31T22:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <idn:mapping> <idn:name> <idn:ace>xn--dmain-jua</idn:ace> <idn:unicode>dömain</idn:unicode> </idn:name> </idn:mapping> </extension> <trID> <clTRID>info-domain-00</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 169: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

169

Example:6 A valid command used for an IDN domain name (xn--dmain-jua.eu) would look like (version 2): <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <info> <domain:info> <domain:name>xn--dmain-jua.eu</domain:name> </domain:info> </info> <extension> <eurid:ext> <eurid:info> <eurid:domain version="2.0"/> </eurid:info> </eurid:ext> </extension> <clTRID>info-domain-00</clTRID> </command> </epp>

Reply 6: IDN domain name is IN USE, belongs to the querying registrar.

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns=http://www.eurid.eu/xml/epp/epp-1.0 xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name> xn--dmain-jua.eu</domain:name> <domain:roid>17941-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c100000</domain:registrant> <domain:contact type="billing">c100003</domain:contact> <domain:contact type="tech">c100002</domain:contact> <domain:clID>a100000</domain:clID> <domain:crID>a100000</domain:crID> <domain:crDate>2009-10-14T08:44:50.000Z</domain:crDate> <domain:upID>a100000</domain:upID> <domain:upDate>2009-10-14T08:44:50.000Z</domain:upDate> <domain:exDate>2010-10-31T22:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:onhold>false</eurid:onhold> <eurid:quarantined>false</eurid:quarantined> </eurid:domain> </eurid:infData>

Page 170: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

170

</eurid:ext> <idn:mapping> <idn:name> <idn:ace>xn--dmain-jua</idn:ace> <idn:unicode>dömain</idn:unicode> </idn:name> </idn:mapping> </extension> <trID> <clTRID>info-domain-00</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Example 7: Domain info version 1 used on the domain name ᾀᾁ.eu (nameprep transformation of an unicode domain name): <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0"> <command> <info> <domain:info>

<domain:name>ᾀᾁ.eu</domain:name> </domain:info> </info> <clTRID>info-domain-00</clTRID> </command> </epp>

The EPP server sends the following response:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns=http://www.eurid.eu/xml/epp/epp-1.0 xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData>

<domain:name>ἀιἁι.eu</domain:name> <domain:roid>110-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c13</domain:registrant> <domain:contact type="billing">c12</domain:contact> <domain:contact type="tech">c11</domain:contact> <domain:clID>s000001</domain:clID> <domain:crID>s000001</domain:crID> <domain:crDate>2009-10-28T09:24:31.000Z</domain:crDate> <domain:upID>s000001</domain:upID> <domain:upDate>2009-10-28T09:24:31.000Z</domain:upDate> <domain:exDate>2010-10-31T22:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension>

Page 171: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

171

<idn:mapping> <idn:name> <idn:ace>xn--uxaa160sfa</idn:ace> <idn:unicode>ἀιἁι</idn:unicode> </idn:name> </idn:mapping> </extension> <trID> <clTRID>info-domain-00</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Domain name and its Unicode representation have been transformed by a nameprep. In such case return output does not contain original version of the requested domain name

Example 8: Domain info version 2 used on the domain name ᾀᾁ.eu (nameprep transformation of a Unicode domain name): <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"

xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <info> <domain:info>

<domain:name>ᾀᾁ.eu</domain:name> </domain:info> </info> <extension> <eurid:ext> <eurid:info> <eurid:domain version="2.0"/> </eurid:info> </eurid:ext> </extension> <clTRID>info-domain-00</clTRID> </command> </epp>

The EPP server sends the following response:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData>

<domain:name>ἀιἁι.eu</domain:name> <domain:roid>110-EURID</domain:roid>

Page 172: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

172

<domain:status s="ok"/> <domain:registrant>c13</domain:registrant> <domain:contact type="billing">c12</domain:contact> <domain:contact type="tech">c11</domain:contact> <domain:clID>s000001</domain:clID> <domain:crID>s000001</domain:crID> <domain:crDate>2009-10-28T09:24:31.000Z</domain:crDate> <domain:upID>s000001</domain:upID> <domain:upDate>2009-10-28T09:24:31.000Z</domain:upDate> <domain:exDate>2010-10-31T22:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:onhold>false</eurid:onhold> <eurid:quarantined>false</eurid:quarantined> </eurid:domain> </eurid:infData> </eurid:ext> <idn:mapping> <idn:name> <idn:ace>xn--uxaa160sfa</idn:ace> <idn:unicode>ἀιἁι</idn:unicode> </idn:name> </idn:mapping> </extension> <trID> <clTRID>info-domain-00</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Example 9: Domain info version 2 used on the domain name in registrars own portfolio containing DNSSEC information. <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp-1.0.xsd" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <info> <domain:info> <domain:name>рвдй</domain:name> </domain:info> </info> <extension> <eurid:ext > <eurid:info> <eurid:domain version="2.0"/> </eurid:info> </eurid:ext> </extension>

Page 173: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

173

</command> </epp>

The EPP server sends the following response:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>рвдй.eu</domain:name> <domain:roid>6907116-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c8664111</domain:registrant> <domain:contact type="billing">c129179</domain:contact> <domain:contact type="onsite">c3408416</domain:contact> <domain:clID>a000475</domain:clID> <domain:crID>a000475</domain:crID> <domain:crDate>2010-04-06T07:00:25.000Z</domain:crDate> <domain:upID>a000475</domain:upID> <domain:upDate>2010-04-09T07:04:54.000Z</domain:upDate> <domain:exDate>2011-04-30T21:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <secDNS:infData> <secDNS:dsData> <secDNS:keyTag>6615</secDNS:keyTag> <secDNS:alg>7</secDNS:alg> <secDNS:digestType>1</secDNS:digestType> <secDNS:digest>7674956565F67AC99DCF8EC5C95EFD736D4C2816</secDNS:digest> <secDNS:keyData> <secDNS:flags>257</secDNS:flags> <secDNS:protocol>3</secDNS:protocol> <secDNS:alg>7</secDNS:alg> <secDNS:pubKey>AwEAAcTnEOkfH1FsT9EI2BmjMB83uDWXpSp57YHa0v6Xg60 Usm3Y2Fct1emy+h0+uDstyUl5eILy9eO2eI67m5r0Lck=</secDNS:pubKey> </secDNS:keyData> </secDNS:dsData> </secDNS:infData> <eurid:ext> <eurid:infData> <eurid:domain> <eurid:onhold>false</eurid:onhold> <eurid:quarantined>false</eurid:quarantined> </eurid:domain> </eurid:infData> </eurid:ext> <idn:mapping> <idn:name>

Page 174: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

174

<idn:ace>xn--b1aepz.eu</idn:ace> <idn:unicode>рвдй.eu</idn:unicode> </idn:name> </idn:mapping> </extension> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

When domain info v1 is used then server reply is the following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:domain="http://www.eurid.eu/xml/epp/domain-1.0" xmlns:idn="http://www.eurid.eu/xml/epp/idn-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData> <domain:name>τείεετ.eu</domain:name> <domain:roid>6907256-EURID</domain:roid> <domain:status s="ok"/> <domain:registrant>c8664111</domain:registrant> <domain:contact type="billing">c129179</domain:contact> <domain:contact type="onsite">c3408416</domain:contact> <domain:ns> <domain:hostAttr> <domain:hostName>ns2.unoeuro.com</domain:hostName> </domain:hostAttr> </domain:ns> <domain:clID>a000475</domain:clID> <domain:crID>a000475</domain:crID> <domain:crDate>2010-04-08T06:42:57.000Z</domain:crDate> <domain:upID>a000475</domain:upID> <domain:upDate>2010-04-08T06:42:57.000Z</domain:upDate> <domain:exDate>2011-04-30T21:59:59.999Z</domain:exDate> </domain:infData> </resData> <extension> <idn:mapping> <idn:name> <idn:ace>xn--kxalba5ee.eu</idn:ace> <idn:unicode>τείεετ.eu</idn:unicode> </idn:name> </idn:mapping> </extension> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Note that the <secDNS:infData> extension is not returned.

Page 175: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

175

Example version 1.0 and 2.0:

Reply 13: Should a registrar exceed the rate-limit for this command, the server reply will look like:

</epp> <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2306"> <msg>Parameter value policy error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Excessive querying</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>epperl-v0.1-s71554-m63</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 176: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

176

Info registrar

PURPOSE: To obtain registrar account information. This command can be used by registrars to retrieve current information about their registrar account and can help them to monitor the status of their account. The information returned can, for example, be used to predict whether certain transactions will fail due to insufficient funds or too many hit points. The structure of the command is:

TAG Occurrences

min-max Size + remarks

<epp> 1

<command> 1

<info> 1

<registrar> 1

<extension> 1

<ext> 1

<info> 1

<registrar> 1 required attrib: version="1.0"

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

• <eurid:registrar version="1.0"/>: Only version “1.0” is supported.

Example:

A valid command to obtain the registrar account information is as follows:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:registrar="http://www.eurid.eu/xml/epp/registrar-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <command> <info> <registrar:info/> </info> <extension> <eurid:ext> <eurid:info> <eurid:registrar version="1.0"/> </eurid:info> </eurid:ext> </extension> <clTRID>info-registrar</clTRID> </command> </epp>

Page 177: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

177

The system will reply with the following information:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:registrar="http://www.eurid.eu/xml/epp/registrar-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <registrar:infData/> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:registrar> <eurid:amountAvailable>63434.00</eurid:amountAvailable> <eurid:hitPoints> <eurid:nbrHitPoints>1</eurid:nbrHitPoints> <eurid:maxNbrHitPoints>1000</eurid:maxNbrHitPoints> </eurid:hitPoints> <eurid:nbrRenewalCreditsAvailable>2</eurid:nbrRenewalCreditsAvailable> <eurid:nbrPromoCreditsAvailable xsi:nil="true"/> </eurid:registrar> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>info-registrar</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

When the registrar has been blocked due to too many hit points the server will reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:registrar="http://www.eurid.eu/xml/epp/registrar-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <registrar:infData/> </resData> <extension> <eurid:ext> <eurid:infData> <eurid:registrar> <eurid:amountAvailable>1043.24</eurid:amountAvailable> <eurid:hitPoints> <eurid:nbrHitPoints>1001</eurid:nbrHitPoints> <eurid:maxNbrHitPoints>1000</eurid:maxNbrHitPoints>

Page 178: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

178

<eurid:blockedUntil>2008-12-04T15:43:52.000Z</eurid:blockedUntil> </eurid:hitPoints> <eurid:nbrRenewalCreditsAvailable>0</eurid:nbrRenewalCreditsAvailable> <eurid:nbrPromoCreditsAvailable xsi:nil="true"/> </eurid:registrar> </eurid:infData> </eurid:ext> </extension> <trID> <clTRID>info-registrar</clTRID> <svTRID>eurid-1</svTRID> </trID> </response> </epp>

The following information can be seen in the registration system’s reply:

• <eurid:amountAvailable> The amount of money left in the registrar account which can be used to perform transactions on the registration system.

• <eurid:hitPoints> This block contains information about the hit points in case the hit point limit has been exceeded.

o <eurid:nbrHitPoints> The current number of hit points.

o <eurid:maxNbrHitPoints> The maximum number of hit points allowed. o <eurid:blockedUntil> The date and time until when the registrar account will be

blocked.

• <eurid:nbrRenewalCreditsAvailable> The number of renewal credits available.

• <eurid:nbrPromoCreditsAvailable xsi:nil="true"/> Indicates that the registrar is currently not in the promo campaign.

• <eurid:nbrPromoCreditsAvailable>0</eurid:nbrPromoCreditsAvailable> The number of unused promo credits (collected during an accumulation period) for registrars currently in a promo campaign.

Page 179: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

179

Poll

PURPOSE: To retrieve notifications from the registration system. Registrars can specify how they would like to receive system-generated notifications from the registration system and EPP <poll> is one of the possible channels. EURid’s system will store all system-generated notifications in a queue and registrars can connect to the EPP server to retrieve the messages one by one. Upon the first successful <poll> request from the registrar EURid’s server will send a reply containing a message counter, a server-unique message identifier and the first message from the message queue. In case the message queue is empty the server will reply that there are no messages pending. Each message sent to the registrar’s system following his <poll> request, needs to be acknowledged by the registrar by sending a “ack” command including the server-unique ID of the message that is being acknowledged. Having received the acknowledgement from the registrar the EURid server will send another reply to the registrar confirming the registrar’s acknowledgement, giving the new number of messages pending in the queue and making the next message in the queue available for retrieval. This method can be used to iterate through all pending messages. The system makes sure that all notifications can only be acknowledged once regardless of the chosen channel. If pending messages are not acknowledged within 86400s (1 day), the registration system will revert to email notification. The system will attempt to send each message via the selected notification channel first before reverting to email, even though previous messages may not have been delivered via the selected channel. Please be aware of the fact that once a notification has been sent via EPP poll and the registrar’s system has acknowledged receiving it, that notification is no longer available via any notification channel. The EPP poll rate is limited to 60/60 seconds. This limit only applies in case there are no messages pending in the queue. The structure of the command is:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<poll> 1 required attrib: op="req"|"ack";

“msgID=” required attribute when op=”ack”: token;

the value of the “msgID” has to correspond to the value of the “id” attribute in the message that is being acknowledged.

<clTRID> 0-1 token: 3-64

To keep the notation simple, we have left out the namespace indication. Please refer to the examples to see what namespace-prefixes to use.

Page 180: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

180

• <poll op="req"/> Is the command tag to request the first message from the queue.

• <poll op="ack" msgID="ID of the message that is being acknowledged"/> Is the command tag to acknowledge a notification from the registration system. The value of the “msgID” attribute has to correspond to the “id” attribute of the message that is being acknowledged.

Examples:

Example 1: The command to retrieve pending messages is as follows:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <command> <poll op="req"/> <clTRID>ABC-12345</clTRID> </command> </epp>

When there are no new messages waiting, the system will respond with the following reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1300"> <msg>Command completed successfully; no messages</msg> </result> <trID> <clTRID>ABC-12345</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

When there are messages waiting, the system will respond with the following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1301"> <msg>Command completed successfully; ack to dequeue</msg> </result> <msgQ count="3" id="6830"> <qDate>2008-09-18T21:29:28.179+02:00</qDate> <msg>Transfer of domain name mytransferdomain.eu</msg> </msgQ> <resData> <eurid:pollRes> <eurid:action>CONFIRM</eurid:action> <eurid:domainname>mytransferdomain.eu</eurid:domainname> <eurid:returncode>1155</eurid:returncode> <eurid:type>TRANSFER</eurid:type> </eurid:pollRes> </resData> <trID> <clTRID>ABC-12345</clTRID>

Page 181: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

181

<svTRID>eurid-0</svTRID> </trID> </response> </epp>

The following information can be seen in the registration system’s reply:

• <msgQ count> Contains information about the number of messages waiting in the queue and the unique identifier (“id”) of the message that is returned in that response. In this example, we see that there are “3” messages waiting (<msgQ count="3") and that the id of this message that is included in this response is “6830” (id="6830").

• <qDate> Contains the date and time that the message was enqueued.

• <eurid:action> Please refer to ADDENDUM 3 for an overview of the different EURid actions.

• <eurid:domainname> Is the domain name concerned in the message.

• <eurid:returncode> Please refer to ADDENDUM 3 for an overview of the different return codes.

• <eurid:type> Please refer to ADDENDUM 3 for an overview of the different EURid types.

The poll request will keep on returning this message until it has been acknowledged: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <command> <poll op="ack" msgID="6830"/> <clTRID>ABC-12346</clTRID> </command> </epp>

Once it has received an acknowledgement, the system will reply with:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <msgQ count="2" id="6848"/> <trID> <clTRID>ABC-12346</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

To get the content of the new message (ID 6848) an EPP poll request must be sent. This method can be used to iterate through all pending messages. Once the last message has been acknowledged the system will respond as follows:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1300"> <msg>Command completed successfully; no messages</msg>

Page 182: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

182

</result> <trID> <clTRID>ABC-12346</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Example 2: Acknowledging a message that has already been acknowledged or that is meant for another registrar will result in the following response:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2002"> <msg>Command use error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>No poll acknowledgement expected for the specified id</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>ABC-12346</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Example 3: Excessive querying results in the following system response:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2306"> <msg>Parameter value policy error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Excessive querying</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <clTRID>ABC-12345</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 183: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

183

Create keygroup To simplify the management of keys linked to domain names, EURid has introduced the concept of keygroups. Without keygroups, you would need to create keys (e.g. a KSK and a ZSK) for each DNSSEC-enabled domain name. In cases where a large number of domain names needs to be made secure, this would also mean the creation a large number of individual key files (public and private keys). The amount of work required to manage these keys would increase even more when they are about to expire and need to be replaced individually. Keygroups help to address this issue. A keygroup is a reusable, named set of keys. Each keygroup has a unique name and can contain up to four keys. Once a domain name has been created (registered), it can be linked to a keygroup simply by using the keygroup name. Linking a domain name to a keygroup has the same effect as individually linking all the keys in that keygroup to the domain name when the zone file is generated or updated. Since one keygroup can be linked to any number of domain names, the number of keys to be created or replaced is drastically reduced. For instance, consider a keygroup linked to 1000 domain names. Changing a single key in that keygroup is the same as changing that key 1000 times for each individual domain name (if keygroups were not used). Rules when working with keygroups:

• Each keygroup must have a distinct name within your portfolio. • A keygroup may have up to four DNSSEC keys at the time. • A keygroup may be associated to any number of domain names. • A domain name may at most be linked to one keygroup. • A domain name that is linked to individual keys cannot also be linked to a keygroup and

vice versa.

The valid document structure is for keygroup creation is:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<create> 1

<eurid:keygroup>

<keygroup:name> 1 normalizedString 1-50 containing characters from [a-z][A-Z][0-9][-.]

<keygroup:key> 0-9 token: 4-100

<keygroup:keyTag> 1 Normalized string 0-9 <keygroup:flags> 1 256 | 257 Value is 256 for ZSK, or 257 for KSK <keygroup:protocol> 1 Only “3” is currently accepted at EURid <keygroup:alg> 1 3 | 5 | 6 | 7 <keygroup:pubKey> 1 A base 64 value. Any spaces in the public key will

be removed. Maximum is 1024 base64 characters <clTRID> 0-1 token: 3-64

• <name> Contains the (chosen) name for the name server group.

• <key> Contains the DNSSEC key information.

Page 184: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

184

• <keyTag> Contains keytag value for the associated key

• <flags> Indicates the type of the key it can be either 256 for ZSK, or 257 for KSK

• <protocol> Contains protocol value for the associated key, standard value for EURid is 3.

• <algorithm> Contains the number representing the algorithm

• <pubKey> Contains the public DNSSEC key

• <clTRID> Contains the transaction ID (for tracking the command) that was provided by the registrar in the incoming command.

Example 1: Creation of an empty keygroup <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:keygroup="http://www.eurid.eu/xml/epp/keygroup-1.0"> <command> <create> <keygroup:create> <keygroup:name>eurid2</keygroup:name> </keygroup:create> </create> </command> </epp>

Response 1: The response from the server for this command would be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <svTRID>eurid-6805</svTRID> </trID> </response> </epp>

Response 2: Name of the keygroup is too long. In this case the response is the following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>Invalid value for name (value too long)</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-6807</svTRID> </trID> </response> </epp>

Page 185: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

185

Response 3: Name of the keygroup contains illegal characters (illegal<>?/.,). In this case response is the following:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2001"> <msg>Command syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>line:9 column:28: Unexpected character encountered (lex state 9): '>'</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Example 2: Creation of a keygroup with a valid key: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:keygroup="http://www.eurid.eu/xml/epp/keygroup-1.0"> <command> <create> <keygroup:create> <keygroup:name>eurid3</keygroup:name> <keygroup:key> <keygroup:keyTag>49049</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAaQx/SAfK9rmTYsyThhUgvUBQORqQhUNbcIx67sfUtC6Ii1WHn0C dIMcO8FUMT3PE7BhJ04zYiJdX2Gr6VEHXW0=</keygroup:pubKey> </keygroup:key> </keygroup:create> </create> </command> </epp>

Example 3: Creation of a keygroup with 4 valid keys: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:keygroup="http://www.eurid.eu/xml/epp/keygroup-1.0"> <command> <create> <keygroup:create> <keygroup:name>eurid4</keygroup:name> <keygroup:key> <keygroup:keyTag>49049</keygroup:keyTag>

Page 186: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

186

<keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAaQx/SAfK9rmTYsyThhUgvUBQORqQhUNbcIx67sfUtC6Ii1WHn0C dIMcO8FUMT3PE7BhJ04zYiJdX2Gr6VEHXW0=</keygroup:pubKey> </keygroup:key> <keygroup:key> <keygroup:keyTag>57695</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAdVHFEnY8q8xuiiSO0XvX0LWlcCMWQByFyyCzPFfUmso0677qjIZ YEF/fIx/WJuIRup1/Ay58U8pvCnsk0iXIV0=</keygroup:pubKey> </keygroup:key> <keygroup:key> <keygroup:keyTag>57458</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAcCmKsGJgZ9J6xO51/by9W4c1p2EmO24oxL0iFr968O53cX/TlgZ WPnIfLXj+GwB1eW/JN/B+z655jN9JRAARZE=</keygroup:pubKey> </keygroup:key> <keygroup:key> <keygroup:keyTag>62087</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAfDlDXi7fizdyml3KT92zHvoIY9Ya6r5LUf+PYeeQYm4TUMp+Ckd pNSi4YKmVGQn57gxMRGwzT+o+lxPKX6LpKE=</keygroup:pubKey> </keygroup:key> </keygroup:create> </create> </command> </epp>

Page 187: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

187

Response 4. When trying to create a keygroup with more than 4 keys, the system replies as follows:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2001"> <msg>Command syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>line:38 column:5: Element not allowed: key@http://www.eurid.eu/xml/epp/keygroup-1.0 in element create@http://www.eurid.eu/xml/epp/keygroup-1.0</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Response 5. When trying to create a keygroup with a key which is too long the system replies as follows:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2001"> <msg>Command syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>line:15 column:7: Invalid value: not encoded properly</eurid:msg> </eurid:result> </eurid:ext>

Response 6. When trying to create a keygroup with an empty key and other key data filled the system replies as follows:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2001"> <msg>Command syntax error</msg> </result> <extension> <eurid:ext> <eurid:result>

Page 188: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

188

<eurid:msg>line:15 column:7: base64Binary encoded data has only 0 bytes, fewer than minLength facet (1) for keyType in namespace http://www.eurid.eu/xml/epp/keygroup-1.0</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Response 7. When trying to create a keygroup with an empty protocol value and other key data filled the system replies as follows:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>invalid protocol: 0</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-6560</svTRID> </trID> </response> </epp>

Response 8. When trying to create a keygroup with an incorrect protocol value and other key data filled the system replies as follows:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2001"> <msg>Command syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>line:13 column:7: decimal value (684,324) is greater than maxInclusive facet (255) for xs:unsignedByte</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 189: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

189

Response 9. When trying to create a keygroup with an empty flags value and other key data filled the system replies as follows:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2001"> <msg>Command syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>line:12 column:7: Invalid decimal value: expected at least one digit</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Response 10. When trying to create a keygroup with an invalid flag and other key data filled the system replies as follows:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>invalid flags: 258</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-6562</svTRID> </trID> </response> </epp>

Page 190: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

190

Response 11. When trying to create a keygroup with an invalid keytag value and other key data filled the system replies as follows:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2005"> <msg>Parameter value syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>wrong keytag value</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-6563</svTRID> </trID> </response> </epp>

Page 191: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

191

Update keygroup PURPOSE: To update the contents of a keygroup.

Please note: A “keygroup update” updates the whole object at once (there is no <add>,

<chg> or <rem> sections as with others EPP objects)!

The document structure is identical to the one for the <create> keygroup:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<update> 1

<eurid:keygroup>

<keygroup:name> 1 normalizedString 1-50 containing characters from [a-z][A-Z][0-9][-.]

<keygroup:key> 0-9 token: 4-100

<keygroup:keyTag> 1 Normalized string 0-9 <keygroup:flags> 1 256 | 257 Value is 256 for ZSK, or 257 for KSK <keygroup:protocol> 1 Only “3” is currently accepted at EURid <keygroup:alg> 1 3 | 5 | 6 | 7 <keygroup:pubKey> 1 A base 64 value. Any spaces in the public key will

be removed. Maximum is 1024 base64 characters <clTRID> 0-1 token: 3-64

• <name> Contains the (chosen) name for the name server group.

• <key> Contains the DNSSEC key information.

• <keyTag> Contains keytag value for the associated key

• <flags> Indicates the type of the key it can be either 256 for ZSK, or 257 for KSK

• <protocol> Contains protocol value for the associated key, standard value for EURid is 3.

• <algorithm> Contains the number representing the algorithm

• <pubKey> Contains the public DNSSEC key

• <clTRID> Contains the transaction ID (for tracking the command) that was provided by the registrar in the incoming command.

Examples:

Example1:A valid command for the update of a keygroup would be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:keygroup="http://www.eurid.eu/xml/epp/keygroup-1.0"> <command> <update> <keygroup:update> <keygroup:name>eurid1</keygroup:name> </keygroup:update> </update> </command> </epp>

Page 192: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

192

The response from the server will then be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <svTRID>eurid-6799</svTRID> </trID> </response> </epp>

Please note that when updating a keygroup, you are replacing all existing keys by the set provided in the update command. So if you want to keep the existing keys and just add another one, you need to re-specify the old ones and add the new one. Example 2: Adding a DNSSEC key to the keygroup: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:keygroup="http://www.eurid.eu/xml/epp/keygroup-1.0"> <command> <update> <keygroup:update> <keygroup:name>eurid1</keygroup:name> <keygroup:key> <keygroup:keyTag>49049</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAaQx/SAfK9rmTYsyThhUgvUBQORqQhUNbcIx67sfUtC6Ii1WHn0C dIMcO8FUMT3PE7BhJ04zYiJdX2Gr6VEHXW0=</keygroup:pubKey> </keygroup:key> </keygroup:update> </update> </command> </epp>

Page 193: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

193

Example 3: A valid command to add/update 4 keys in a keygroup: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:keygroup="http://www.eurid.eu/xml/epp/keygroup-1.0"> <command> <update> <keygroup:update> <keygroup:name>eurid1</keygroup:name> <keygroup:key> <keygroup:keyTag>49049</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAaQx/SAfK9rmTYsyThhUgvUBQORqQhUNbcIx67sfUtC6Ii1WHn0C dIMcO8FUMT3PE7BhJ04zYiJdX2Gr6VEHXW0=</keygroup:pubKey> </keygroup:key> <keygroup:key> <keygroup:keyTag>57695</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAdVHFEnY8q8xuiiSO0XvX0LWlcCMWQByFyyCzPFfUmso0677qjIZ YEF/fIx/WJuIRup1/Ay58U8pvCnsk0iXIV0=</keygroup:pubKey> </keygroup:key> <keygroup:key> <keygroup:keyTag>57458</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAcCmKsGJgZ9J6xO51/by9W4c1p2EmO24oxL0iFr968O53cX/TlgZ WPnIfLXj+GwB1eW/JN/B+z655jN9JRAARZE=</keygroup:pubKey> </keygroup:key> <keygroup:key> <keygroup:keyTag>62087</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAfDlDXi7fizdyml3KT92zHvoIY9Ya6r5LUf+PYeeQYm4TUMp+Ckd pNSi4YKmVGQn57gxMRGwzT+o+lxPKX6LpKE=</keygroup:pubKey> </keygroup:key> </keygroup:update> </update> </command> </epp>

Example 4: Trying to add 5 keys to a keygroup: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:keygroup="http://www.eurid.eu/xml/epp/keygroup-1.0"> <command> <update> <keygroup:update> <keygroup:name>eurid1</keygroup:name> <keygroup:key> <keygroup:keyTag>4343</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol>

Page 194: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

194

<keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAbN3e4DebC/c6CvtoTpD2jd6h5N3bxSLjkSdbTEG7Y7DSFdG7wNW BzFvuXlwNfB641dWh2s4BzZWlQIAFzF9SsE=</keygroup:pubKey> </keygroup:key> <keygroup:key> <keygroup:keyTag>49049</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAaQx/SAfK9rmTYsyThhUgvUBQORqQhUNbcIx67sfUtC6Ii1WHn0C dIMcO8FUMT3PE7BhJ04zYiJdX2Gr6VEHXW0=</keygroup:pubKey> </keygroup:key> <keygroup:key> <keygroup:keyTag>57695</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAdVHFEnY8q8xuiiSO0XvX0LWlcCMWQByFyyCzPFfUmso0677qjIZ YEF/fIx/WJuIRup1/Ay58U8pvCnsk0iXIV0=</keygroup:pubKey> </keygroup:key> <keygroup:key> <keygroup:keyTag>57458</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAcCmKsGJgZ9J6xO51/by9W4c1p2EmO24oxL0iFr968O53cX/TlgZ WPnIfLXj+GwB1eW/JN/B+z655jN9JRAARZE=</keygroup:pubKey> </keygroup:key> <keygroup:key> <keygroup:keyTag>62087</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAfDlDXi7fizdyml3KT92zHvoIY9Ya6r5LUf+PYeeQYm4TUMp+Ckd pNSi4YKmVGQn57gxMRGwzT+o+lxPKX6LpKE=</keygroup:pubKey> </keygroup:key> </keygroup:update> </update> </command> </epp>

The response from the server will then be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2001"> <msg>Command syntax error</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>line:36 column:5: Element not allowed: key@http://www.eurid.eu/xml/epp/keygroup-1.0 in element update@http://www.eurid.eu/xml/epp/keygroup-1.0</eurid:msg> </eurid:result> </eurid:ext>

Page 195: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

195

</extension> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Example 5: Emptying a keygroup: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eurid.eu/xml/epp/epp-1.0 epp-1.0.xsd" xmlns:keygroup="http://www.eurid.eu/xml/epp/keygroup-1.0"> <command> <update> <keygroup:update> <keygroup:name>krqkdcnjtiigrbvgrsom</keygroup:name> </keygroup:update> </update> </command> </epp>

The response from the server will then be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <svTRID>eurid-55684527</svTRID> </trID> </response> </epp>

Page 196: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

196

Delete keygroup PURPOSE: To delete a keygroup.

Please note: It is not possible to delete a keygroup that is still used on 1 or more domains!

The structure of the document is identical to that of a <delete> contact:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<delete> 1

<keygroup:name> 1 normalizedString 1-50 containing characters from [a-z][A-Z][0-9][-.]

<clTRID> 0-1 token: 3-64

• <keygroup:name> Contains the name of the keygroup.

Example:

A valid command to delete a keygroup:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:keygroup="http://www.eurid.eu/xml/epp/keygroup-1.0"> <command> <delete> <keygroup:delete> <keygroup:name>eurid</keygroup:name> </keygroup:delete> </delete> </command> </epp>

After a successful deletion the server will respond:

?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <svTRID>eurid-6796</svTRID> </trID> </response> </epp>

Page 197: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

197

When trying to delete non existing keygroup system will respond:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2303"> <msg>Object does not exist</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>keygroup [incorrectkeygroup] does not exist</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-6575</svTRID> </trID> </response> </epp>

When trying to delete keygroup which is still linked to at least one domain name system will respond:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="2305"> <msg>Object association prohibits operation</msg> </result> <extension> <eurid:ext> <eurid:result> <eurid:msg>keygroup [eurid] still linked to 1 domains</eurid:msg> </eurid:result> </eurid:ext> </extension> <trID> <svTRID>eurid-6576</svTRID> </trID> </response> </epp>

Page 198: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

198

Check keygroup

PURPOSE: The EPP <check> keygroup command is used to determine if one or several objects can be provisioned within a repository. It provides a hint that allows a client to anticipate the success or failure of provisioning an object using the <create> command.

The structure of the document:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<check> 1

<keygroup:name> 1-* normalizedString 1-50 containing characters from [a-z][A-Z][0-9][-.]

<clTRID> 0-1 token: 3-64

• <keygroup:name> Contains the name of the keygroup that was checked. There is an entry in the reply document for each of the keygroups that were checked. The 'avail' attribute contains a value of 'false' if the keygroup is not available and a value of 'true' if the keygroup is available, at the time of the check.

Please note that a check can be done on several objects within the same command.

Example:

We would like to check two different objects:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:keygroup="http://www.eurid.eu/xml/epp/keygroup-1.0"> <command> <check> <keygroup:check> <keygroup:name>eurid1</keygroup:name> <keygroup:name>eurid2</keygroup:name> </keygroup:check> </check> </command> </epp>

The EPP server will return:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:keygroup="http://www.eurid.eu/xml/epp/keygroup-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <keygroup:chkData> <keygroup:cd> <keygroup:name avail="false">eurid1</keygroup:name>

Page 199: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

199

</keygroup:cd> <keygroup:cd> <keygroup:name avail="true">eurid2</keygroup:name> </keygroup:cd> </keygroup:chkData> </resData> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

The example shows that keygroup eurid2 is available and keygroup eurid1 is not.

Page 200: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

200

Info keygroup

PURPOSE: Allows the registrar to retrieve information about the current status of an existing keygroup.

The structure of the document that must be sent:

TAG Occurrences min-max

Size + remarks

<epp> 1

<command> 1

<info> 1

<keygroup:name> 1 normalizedString 1-50 containing characters from [a-z][A-Z][0-9][-.]

<clTRID> 0-1 token: 3-64

• <keygroup:name> Contains the name of the keygroup.

Example:

A valid command to retrieve information about the current status of the keygroup “eurid” would be:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:keygroup="http://www.eurid.eu/xml/epp/keygroup-1.0"> <command> <info> <keygroup:info> <keygroup:name>eurid</keygroup:name> </keygroup:info> </info> </command> </epp>

The server will return the information for that keygroup:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:keygroup="http://www.eurid.eu/xml/epp/keygroup-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <keygroup:infData> <keygroup:name>eurid</keygroup:name> <keygroup:key> <keygroup:keyTag>49049</keygroup:keyTag> <keygroup:flags>256</keygroup:flags> <keygroup:protocol>3</keygroup:protocol> <keygroup:algorithm>7</keygroup:algorithm> <keygroup:pubKey>AwEAAaQx/SAfK9rmTYsyThhUgvUBQORqQhUNbcIx67sfUtC6Ii1WHn0CdIMcO8FUMT3PE7BhJ04zYiJdX2Gr6VEHXW0=</keygroup:pubKey>

Page 201: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

201

</keygroup:key> </keygroup:infData> </resData> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

If the name of the keygroup was incorrect then the system replies as follows:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:keygroup="http://www.eurid.eu/xml/epp/keygroup-1.0"> <response> <result code="2303"> <msg>Object does not exist</msg> <value> <keygroup:name>illegal_</keygroup:name> </value> </result> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 202: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

202

Dynamic updater results The table below contains the EPP extensions used when retrieving information from the Dynamic Updater.

Tag Value Remark

<eurid:response>

<eurid:dynUpdateStatus>

<eurid:domainName>

<eurid:updatetime> (time)

<eurid:stoptime> (time)

<eurid:result> “0” | “1” “0” indicates success and “1” a failure

<eurid:errors>

<eurid:error>

<eurid:code> 256’ | ‘257’ | ‘258’ | ‘259’

‘260’ | ‘261’ | ‘262’ | ‘263’

More codes might be added in the future

<eurid:arguments>

<eurid:argument>

‘nameServer’ | ‘missingNameServer’ | ‘masterNameServer’ | ‘domainName’ | ‘otherMasterNameServer’ | ‘keyTag’ |

‘masterNameServerIP’ | ‘dnsError’ |

‘otherMasterNameServerIP’

Placeholders used in the error messages

<eurid:message>

List of the .of the arguments.

Argument Description

${dnsError}

Error provided by the name server that was queried at that time. (ie: .eu master or the registrar’s). If the name server was unreachable it is said so here

${domainName} Domain name

${domainNameIP} An IP address mentioned in the domain name

entry in the registration system database.

${firstNameServer} Name server

${hostName} Host name

${keyTag} Key tag

${masterNameServer} Master name server

${masterNameServerIP} Master name server’s IP address

${missingNameServer} Missing name server

${nameServer} Name server

Page 203: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

203

${nameServerIP} Name server’s IP address

${otherMasterNameServer} Master name server

${otherMasterNameServerIP} Master name server’s IP address

${resourceRecordType} RR type (see list below)

${secondNameServer} Name server

Example: To obtain the dynamic update test results, your EPP client sends the following command: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <extension> <eurid:ext xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <eurid:command> <eurid:dynUpdateStatus> <eurid:domainName>example.eu</eurid:domainName> </eurid:dynUpdateStatus> <eurid:clTRID>updatorFeedback-0001</eurid:clTRID> </eurid:command> </eurid:ext> </extension> </epp>

If the test was successful the .eu EPP server replies as follows:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <extension> <eurid:ext> <eurid:response> <eurid:dynUpdateStatus> <eurid:domainName>example.eu</eurid:domainName> <eurid:updateTime>2010-06-07T02:55:30.000Z</eurid:updateTime> <eurid:stopTime>2010-06-07T02:55:31.000Z</eurid:stopTime> <eurid:result>0</eurid:result> </eurid:dynUpdateStatus> </eurid:response> </eurid:ext> </extension> <trID> <clTRID>updatorFeedback-0001</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 204: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

204

If the result is not 0, the reply will include the errors found during validation. Below is an example including errors 263 and 256:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0" xmlns:eurid="http://www.eurid.eu/xml/epp/eurid-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <extension> <eurid:ext> <eurid:response> <eurid:dynUpdateStatus> <eurid:domainName>example.eu</eurid:domainName> <eurid:updateTime>2010-06-05T02:11:30.000Z</eurid:updateTime> <eurid:stopTime>2010-06-05T02:11:31.000Z</eurid:stopTime> <eurid:result>1</eurid:result> <eurid:errors> <eurid:error> <nameserver>ns7.domain.eu</eurid:nameserver> <eurid:code>263</eurid:code> <eurid:arguments> <eurid:argument key=”masterNameServer”>ns1.domain.eu</eurid:argument> <eurid:argument key=”masterNameServerIP”>123.45.67.89</eurid:argument> <eurid:argument key=”otherMasterNameServerIP”>132.54.76.98</eurid:argument> </eurid:arguments> <eurid:message>Master name server ${masterNameServer}'s IP ${masterNameServerIP} differs from ${otherMasterNameServerIP}</eurid:message> </eurid:error> <eurid:error> <eurid:code>256</eurid:code> <eurid:arguments> <eurid:argument key="nameServer">ns1.other.eu</eurid:argument> <eurid:argument key="domainName">example.eu</eurid:argument> </eurid:arguments> <eurid:message>No IP address found for name server ${nameServer} - domain name ${domainName}</eurid:message> </eurid:error> </eurid:errors> </eurid:dynUpdateStatus> </eurid:response> </eurid:ext> </extension> <trID> <clTRID>updatorFeedback-0001</clTRID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 205: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

205

Sending the dynUpdateStatus command for a domain name that is not DNSSEC enabled (i.e. that is not linked to any nameserver or nameserver group and any key or keygroup) results in the following reply:

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="http://www.eurid.eu/xml/epp/epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <svTRID>eurid-0</svTRID> </trID> </response> </epp>

Page 206: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

206

UNIMPLEMENTED EPP COMMANDS Renew

The EPP protocol contains the possibility to renew the registration of a domain name. As the renewal is automatic in .eu, this command is not implemented.

Check contact As EURid always generates unique aliases for newly created contacts, there is no reason to check for the availability of a certain alias. This query is not implemented.

Transfer contact In the model underlying the EPP standard, a contact is global, i.e. not belonging to the registrar who created it. However it can only be updated by the "sponsoring client", the one who created it. A contact object can be transferred (as is the case for a domain in EURid) to a new sponsoring client. In the EURid system this is not allowed. If the same object needs to be used by another registrar, that registrar has to create a new (identical) object.

Page 207: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

207

ADDENDUM 1: List of all accepted country codes for registrant contacts

AT (Austria) BE (Belgium) BG (Bulgaria) CZ (Czech Republic) CY (Cyprus) DE (Germany) DK (Denmark) ES (Spain) EE (Estonia) FI (Finland) FR (France) GR (Greece) GB (Great-Britain) HU (Hungary) IE (Ireland) IT (Italy) LT (Lithuania) LU (Luxemburg) LV (Latvia) MT (Malta) NL (The Netherlands) PL (Poland) PT (Portugal) RO (Romania) SE (Sweden) SK (Slovak Republic) SI (Republic of Slovenia)

Other accepted country codes

AX (Aland Islands) GF (French Guiana) GI (Gibraltar) GP (Guadeloupe) MQ (Martinique) RE (Reunion Island)

Page 208: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

208

ADDENDUM 2: List of all accepted language codes for contacts and <evidence-lang> bg (Bulgarian) cs (Czech) da (Danish) de (German) el (Greek) en (English) es (Spanish) et (Estonian) fi (Finnish) fr (French) ga (Gaelic) hu (Hungarian) it (Italian) lt (Lithuanian) lv (Latvian) mt (Maltese) nl (Dutch) pl (Polish) pt (Portuguese) ro (Romanian) sk (Slovak) sl (Slovene) sv (Swedish)

Page 209: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

209

ADDENDUM 3: Overview of EURid return codes in EPP Poll

Eurid:type Eurid:action Eurid:returncode

APPLICATION ACCEPT 1000

APPLICATION ACTIVATED 1000

APPLICATION NOTCONSIDERED 1601

APPLICATION OTHERACTIVATED 1602

APPLICATION REJECT 1603

FAX INVALIDATE 1301

FAX INVALIDATE 1302

FAX INVALIDATE 1303

FAX INVALIDATE 1304

FAX INVALIDATE 1305

MONITORED_UPD_CONTACT READY 1501

MONITORED_UPD_CONTACT APPROVED 1502

MONITORED_UPD_CONTACT EXPIRED 1503

MONITORED_UPD_CONTACT REJECTED 1504

OTHER INVALIDATE 1401

OTHER REJECTED 1402

TRADE AWAY 1000

TRADE DONE 1000

TRADE SCHEDULED 1000

TRADE REJECT 1201

TRADE REJECT 1202

TRADE REJECT 1203

TRADE REJECT 1204

TRADE INVALIDATE 1205

TRADE INVALIDATE 1206

TRADE ANSWER_NEW_HOLDER_REQUIRED 1251

TRADE ANSWER_CURRENT_HOLDER_REQUIRED 1252

TRADE EXPIRE 1253

TRADE DOMAIN_DELETED 1254

TRADE CONFIRM 1255

TRADE CANCEL 1256

TRADE DOMAIN_ON_HOLD 1258

TRANSFER AWAY 1000

TRANSFER DONE 1000

TRANSFER SCHEDULED 1000

TRANSFER REJECT 1101

TRANSFER REJECT 1102

TRANSFER REJECT 1103

TRANSFER INVALIDATE 1104

TRANSFER INVALIDATE 1105

TRANSFER INVALIDATE 1106

TRANSFER REJECT 1107

TRANSFER REJECT 1108

TRANSFER REJECT 1109

Page 210: EPP Guidelines 13D

EPP Guidelines

Registration Guidelines Part II: EPP-XML – v 1.3D – published on 3 June 2010

210

TRANSFER REJECT 1110

TRANSFER REJECT 1111

TRANSFER ANSWER_REQUIRED 1151

TRANSFER EXPIRE 1152

TRANSFER DOMAIN_DELETED 1153

TRANSFER CONFIRM 1154

TRANSFER CONFIRM 1155

TRANSFER CANCEL 1156

TRANSFER CANCEL 1157

TRANSFER DOMAIN_ON_HOLD 1158

WATERMARK REACHED 1000