Sunteți pe pagina 1din 70

EPP API Documentation

Document version: Date:

1.0 May 2010

EPP API Documentation, V1.0, May 2010

Table of Contents
1. Changelog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Generic Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Types.Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Types.Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Types.EPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4 Types.EPPcom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.5 Types.XSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Response Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 EPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 EPP.Greeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 EPP.Hello . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3 EPP.Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3.1 EPP.Command.Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3.2 EPP.Command.Logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3.3 EPP.Command.Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3.4 EPP.Command.Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3.5 EPP.Command.Create . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3.6 EPP.Command.Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3.7 EPP.Command.Renew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3.8 EPP.Command.Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3.9 EPP.Command.Trade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3.10 EPP.Command.Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4 EPP.Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4.1 1000 Command completed successfully . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4.2 1001 Command completed successfully - action pending . . . . . . . . . . . . . . . . . . . . 3.3.4.3 2000 Unknown command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4.4 2001 Command syntax error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4.5 2101 Unimplemented command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4.6 2104 Billing failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4.7 2200 Authentication error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4.8 2400 Command failed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Contact.Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Contact.Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Contact.Create . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Contact.Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Contact.Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Domain.Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Domain.Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Domain.Create . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Domain.Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Domain.Renew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 Domain.Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7 Domain.Trade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8 Domain.Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5 8 8 8 11 13 14 15 16 17 18 19 20 21 22 23 23 24 24 24 25 25 26 26 28 29 29 30 30 30 31 31 32 33 36 40 43 46 47 48 51 55 58 62 64 69 70

Copyright 2010, Realtime Register B.V.

EPP API Documentation, V1.0, May 2010

1. Changelog
1.0 Initial release

Copyright 2010, Realtime Register B.V.

EPP API Documentation, V1.0, May 2010

2. Introduction
Realtime Register has implemented a XML based interface to allow dealers to create programs that enable users to be able to communicate interactively with the automatic registration system. An IETF working group (Provisioning Registry Protocol) has already defined a standard to support this type of interface, i.e. Extensible Provisioning Protocol (EPP). Realtime Register has implemented a system based on this protocol. EPP is a protocol for registering and managing domain names (and not necessarily only domain names) in a very generic and easy way. Each registrar has its own way of working, which means that some features will apply while others will have a slightly different implementation. That is 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 some differences in the data format of some fields, some compromises have been taken. The Realtime Register interface was not compliant with the protocol; it had been extended and changed to perfectly suited the needs of the Realtime Register system. This document describes the different way of transactions that you need to set up in order to work with the XML interface. XML schema is a way of exactly describing the possible content of a XML document. As such, we refer to the schema definitions that describe EPP's syntax, the schemas are attached within this document. When working with XML, you are expected to send a valid document. This is why you should validate your document against the schemas that are provided. As we cannot enforce you to do so, the Realtime Register EPP system will do a validation as the first step of the handling 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.

Versioning
The EPP system is designed to support multiple versions of the EPP interface at once. All available versions are listed by the server in the <greeting>, the version that is send through the <login> command is the version that is used for the session. We will inform all dealers in advance of a new version of the EPP interface so you have the time to implement the changes and test them in the OT&E environment. After the release we will keep on supporting the old version for at least two months and we will monitor for dealers who are still using an old version before discontinuing it. EPP versions have a major and a minor version number. Small changes will result in an increase of the minor version number (i.e. 1.0, 1.1, xxx). Late changes in the overall data model will result in a major version number increase and the minor version number to be reset (i.e. 1.2, 2.0, xxx). This document will be numbered accordingly to the EPP version number, changes in documentation without any EPP version change will result in an increasing capital letter following the EPP version number (e.g. 1.0, 1.0B, 1.0C, 1.1, 1.1B, ...).

Username and Password


In order to be able to access the EPP system, you need to use the username and password chosen when you registered as a dealer.

Connection
The EPP connection to the EPP system is SSL encrypted. If you want to connect to the YourSRS EPP server you should use the following information: Hostname: epp.yoursrs.com Port: 700 The server will then send a <greeting> upon establishment of the connection/session.

Transport
The transport mechanism for the EPP interface is as described in ftp://ftp.rfc-editor.org/in-notes/rfc3734.txt. A short description of this RFC is provided here, for a full text documentation please have a look at ftp://ftp.rfc-editor.org/in-notes/rfc3734.txt.

Session Management
Mapping EPP session management facilities onto the TCP service is straight forward. An EPP session first requires creation of a TCP connection between two peers, one that initiates the connection request and one that responds to the connection request. The initiating peer is called the "client", and the responding peer is called the "server". To start an EPP session, the client issues an active OPEN call, specifying the TCP port number 700. The server responds with a passive OPEN call, which the client must acknowledge to be able to establish the connection. The EPP server will then returns an <greeting> to the client after the TCP session has been established. An EPP session is normally ended by the client by issuing an <logout> command. When the server receives an <logout> command it will then ends the EPP session and close the TCP connection through an active CLOSE call. The client must respond with a passive CLOSE call. EPP sessions that are inactive for more than 10 minutes will be ended by the server, issuing an active CLOSE call. The server may

Copyright 2010, Realtime Register B.V.

EPP API Documentation, V1.0, May 2010

also close TCP connections for any maintenance purposes. Peers SHOULD respond to an active CLOSE call with a passive CLOSE call. The closing peer MAY issue an ABORT call if the responding peer does not respond to the active CLOSE call.

Message Exchange
With the exception of the EPP server greeting, EPP messages are initiated by the EPP client in the form of EPP commands. The server returns an EPP response to an EPP command on the same TCP connection that is carrying the command. If the TCP connection is closed after a server received and successfully processed a command but before the response can be returned to the client, the server will execute the command, the result of the command can be requested at the service desk however only with an clTRID command. EPP commands are idempotent, so processing a command more than once will produce the same net effect on the repository as to successfully processing the command within one time only. Each EPP data unit must contain a single EPP message. Commands are processed independently and in the same order as sent from the client. General client-server message exchange
Client Server | | Connect | >>------------------------------->> | | Send Greeting | <<-------------------------------<< | | Send <login> | >>------------------------------->> | | Send Response | <<-------------------------------<< | | Send Command | >>------------------------------->> | | Send Response | <<-------------------------------<< | | Send <logout> | >>------------------------------->> | | Send Response & Disconnect | <<-------------------------------<< |

| | | | | | | | | | | | | | | | | | | | | | | | |

Data Unit Format


The data field of the TCP header MUST contain an EPP data unit. The EPP data unit contains two fields: a 32-bit header that describes the total length of the data unit, and the EPP XML instance. The total size of a data unit may not exceed 65536 bytes (64Kb). EPP Data Unit Format (one tick mark represents one bit position)
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EPP XML Instance | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Total Length (32 bits) The total length of the EPP data unit measured in octets in network (big Endean) byte order. The octets which are contained in this field must be included in the total length calculation. EPP XML Instance (variable length) The EPP XML instance carried in the data unit.

Copyright 2010, Realtime Register B.V.

EPP API Documentation, V1.0, May 2010

Hexdump of data unit including data unit size


00000000 00 00 01 32 3C 3F 78 6D - 6C 20 76 65 72 73 69 6F ...2<?xml versio 00000010 6E 3D 22 31 2E 30 22 20 - 65 6E 63 6F 64 69 6E 67 n="1.0" encoding 00000020 3D 22 55 54 46 2D 38 22 - 20 73 74 61 6E 64 61 6C ="UTF-8" standal 00000030 6F 6E 65 3D 22 6E 6F 22 - 20 3F 3E 3C 65 70 70 20 one="no" ?><epp 00000040 78 6D 6C 6E 73 3D 22 68 - 74 74 70 3A 2F 2F 77 77 xmlns="http://ww 00000050 77 2E 79 6F 75 72 73 72 - 73 2E 63 6F 6D 2F 78 6D w.yoursrs.com/xm 00000060 6C 2F 65 70 70 2F 65 70 - 70 2D 31 2E 30 22 20 78 l/epp/epp-1.0" x 00000070 6D 6C 6E 73 3A 65 70 70 - 3D 22 68 74 74 70 3A 2F mlns:epp="http:/ 00000080 2F 77 77 77 2E 79 6F 75 - 72 73 72 73 2E 63 6F 6D /www.yoursrs.com 00000090 2F 78 6D 6C 2F 65 70 70 - 2F 65 70 70 2D 31 2E 30 /xml/epp/epp-1.0 000000A0 22 20 78 6D 6C 6E 73 3A - 78 73 69 3D 22 68 74 74 " xmlns:xsi="htt 000000B0 70 3A 2F 2F 77 77 77 2E - 77 33 2E 6F 72 67 2F 32 p://www.w3.org/2 000000C0 30 30 31 2F 58 4D 4C 53 - 63 68 65 6D 61 2D 69 6E 001/XMLSchema-in 000000D0 73 74 61 6E 63 65 22 20 - 78 73 69 3A 73 63 68 65 stance" xsi:sche 000000E0 6D 61 4C 6F 63 61 74 69 - 6F 6E 3D 22 68 74 74 70 maLocation="http 000000F0 3A 2F 2F 77 77 77 2E 79 - 6F 75 72 73 72 73 2E 63 ://www.yoursrs.c 00000100 6F 6D 2F 78 6D 6C 2F 65 - 70 70 2F 65 70 70 2D 31 om/xml/epp/epp-1 00000110 2E 30 20 65 70 70 2D 31 - 2E 30 2E 78 73 64 22 3E .0 epp-1.0.xsd"> 00000120 3C 21 2D 2D 20 2E 2E 2E - 20 2D 2D 3E 3C 2F 65 70 <!-- ... --></ep 00000130 70 3E p>

Encoding
All XML documents must use UTF-8 encoding. The server will NOT use the encoding specified in the XML declaration, if this is not UFT-8 it may result in invalid data being placed in the database. It is possible that other command will fail over this because the data is needed but invalid. XML entities must be used to encode data, the entities are: Enitity &quot; & &amp; ` &apos; < less-than sign apostrophe ampersand Character " Description quotation mark

&lt;

> &gt;

greater-than sign

Copyright 2010, Realtime Register B.V.

EPP API Documentation, V1.0, May 2010

3. Generic Information Types


All data has a type of defining its own restrictions, these types are defined in the XSD's. Each type has a name space and a name, the name space is the part before the ":" while the name is the part after. If no name space is given then the default name space will be given is XSI. The name space and name are shown in the lower part of each element in the scheme. These types are explained here, they are grouped by name space. For each element there is a purpose, restriction and source given. The purpose explains what the type is used for and where it is being and/or should be used. The Restriction gives a textual explanation of the restrictions of this type. The Source is the definition in the XSD defining the type and it restrictions.

Types.Contact
Type e164Type Purpose Voice and fax numbers Restriction/Source "+<country>.<number>" with a total minimum length of 4 and maximum length of 17, <country> is the E164 country number with a minimum length of 1 and a maximum length of 3, <number> has a minimum length of 1 and a maximum length of 14.
01. 02. 03. 04. 05. 06. 07. 08. 09. <xml> <simpleType name="e164Type"> <restriction base="token"> <minLength value="4"/> <maxLength value="17"/> <pattern value="\+[0-9]{1,3}\.[0-9]{1,14}"/> </restriction> </simpleType> </xml>

mailType

Email address

Only valid email adressess are allowed


01. 02. 03. 04. 05. 06. 07. 08. 09. <xml> <simpleType name="mailType"> <restriction base="eppcom:minTokenType"> <minLength value="4"/> <maxLength value="100"/> <pattern value= "([a-zA-Z0-9_.\-]+@[a-zA-Z0-9_.\-]+)"/> </restriction> </simpleType> </xml>

genderType

The gender of a contact

Possible values are "male", "female" or not defined


01. 02. 03. 04. 05. 06. 07. 08. 09. <xml> <simpleType name="genderType"> <restriction base="token"> <enumeration value="male"/> <enumeration value="female"/> <enumeration value=""/> </restriction> </simpleType> </xml>

Copyright 2010, Realtime Register B.V.

EPP API Documentation, V1.0, May 2010

langType

Preferred language

Passible values are "NL", "EN" or not defined


01. 02. 03. 04. 05. 06. 07. 08. 09. <xml> <simpleType name="langType"> <restriction base="token"> <enumeration value="NL"/> <enumeration value="EN"/> <enumeration value=""/> </restriction> </simpleType> </xml>

postalLineType

Required contact data

Minimum length 1, Maximum length 255


1. 2. 3. 4. 5. 6. 7. 8. <xml> <simpleType name="postalLineType"> <restriction base="normalizedString"> <minLength value="1"/> <maxLength value="255"/> </restriction> </simpleType> </xml>

optPostalLineType

Optional contact data

Maximum length 255


1. 2. 3. 4. 5. 6. 7. <xml> <simpleType name="optPostalLineType"> <restriction base="normalizedString"> <maxLength value="255"/> </restriction> </simpleType> </xml>

pcType

Postal code

Minimum length 1, Maximum length 16


1. 2. 3. 4. 5. 6. 7. 8. <xml> <simpleType name="pcType"> <restriction base="token"> <minLength value="1"/> <maxLength value="16"/> </restriction> </simpleType> </xml>

Copyright 2010, Realtime Register B.V.

EPP API Documentation, V1.0, May 2010

ccType

Country code

All officials 2 capital letter country codes are allowed, they are: "AF", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CY", "CZ", "DK", "DJ", "DM", "DO", "TP", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IL", "IT", "JM", "JP", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "AN", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "SH", "KN", "LC", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "SC", "SL", "SG", "SK", "SI", "SB", "SO", "ZA", "GS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "YU", "ZM", "ZW"
01. 02. 03. 04. 05. 06. 07. 08. 09. <xml> <simpleType name="ccType"> <restriction base="token"> <!-Enumeration of country codes will not be shown due to its length --> </restriction> </simpleType> </xml>

statusType

Status of a contact

Currently the only status a contact can have is "ok"


01. 02. 03. 04. 05. <xml> <complexType name="statusType"> <simpleContent> <extension base="normalizedString"> <attribute name="s" type= "contact:statusValueType" use="required" /> <attribute name="lang" type="language" default="en"/> </extension> </simpleContent> </complexType> <simpleType name="statusValueType"> <restriction base="token"> <enumeration value="ok"/> </restriction> </simpleType> </xml>

06. 07. 08. 09. 10. 11. 12. 13. 14. 15.

Copyright 2010, Realtime Register B.V.

10

EPP API Documentation, V1.0, May 2010

Types.Domain
Type nameType Purpose Domain name Restriction/Source The domain name consists of two or three parts, the parts are separated by a ".". The first part may consist of characters "a-z", "0-9" and "-" with a minimum length of 2 and a maximum length of 255, for each TLDs there are specific restrictions for this part of the domain, these restrictions are available on our website. The second and third part may consist of the characters "a-z" with a minimum length of 1 and a maximum length of 6, only valid TLDs (1 part) and SLDs (2 parts) are allowed in these parts, all available TLDs and SLDs are available on our website.
01. 02. 03. 04. 05. 06. 07. 08. 09. <xml> <simpleType name="nameType"> <restriction base="token"> <minLength value="4"/> <maxLength value="255"/> <pattern value= "([0-9a-z\-]{2,255}(\.([a-z]{1,6})){1,2})"/> </restriction> </simpleType> </xml>

statusType

Domain name status

The status of a domain name can be one of these statuses: "ok", "pendingcreate", "pendingdelete", "pendingrenew", "pendingtrade", "pendingupdate", "requested", "pendingtransfer"
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. <xml> <complexType name="statusType"> <simpleContent> <extension base="normalizedString"> <attribute name="s" type= "domain:statusValueType" use="required"/> <attribute name="lang" type="language" default="en"/> </extension> </simpleContent> </complexType> <simpleType name="statusValueType"> <restriction base="token"> <enumeration value="ok"/> <enumeration value="pendingcreate"/> <enumeration value="pendingdelete"/> <enumeration value="pendingrenew"/> <enumeration value="pendingtrade"/> <enumeration value="pendingupdate"/> <enumeration value="pendingtransfer"/> <enumeration value="requested"/> </restriction> </simpleType> </xml>

renewunitType

Specification of the renew setting.

May be one of these values: "y" for yes, "n" for no or undefined for default.
01. 02. 03. 04. 05. 06. 07. 08. 09. <xml> <simpleType name="renewunitType"> <restriction base="token"> <enumeration value="y"/> <enumeration value="n"/> <enumeration value=""/> </restriction> </simpleType> </xml>

Copyright 2010, Realtime Register B.V.

11

EPP API Documentation, V1.0, May 2010

hostType

A hostname

Consists of multiple parts separated by a ".", at least 2 parts are required. The last part may consist of characters "a-z" with a minimum length of 2 and a maximum length of 6. All other parts may consists of characters "a-z", "0-9" and "-" with a minimum length of 1 and a maximum length of 255. The total length may not exceed 255 characters.
01. 02. 03. 04. 05. 06. <xml> <simpleType name="hostType"> <restriction base="token"> <maxLength value="255"/> <minLength value="4"/> <pattern value= "([0-9a-z\-]{1,255}\.)*[0-9a-z\-]{1,255}\.[a-z]{2,6}" /> </restriction> </simpleType> </xml>

07. 08. 09.

addrType

A IPv4 address

Only valid IPv4 addresses are allowed


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <xml> <complexType name="addrType"> <simpleContent> <extension base="domain:addrStringType"> <attribute name="ip" type="domain:ipType" default="v4"/> </extension> </simpleContent> </complexType> <simpleType name="addrStringType"> <restriction base="token"> <minLength value="3"/> <maxLength value="45"/> <!-- Line breaks are inserted to increase readability, they do not exist in the XSD --> <pattern value="(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9 ]{2}|[1-9]{1}[0-9]{1}|[1-9])\. (25[0-5]|2[0-4][0-9]|[0-1 ]{1}[0-9]{2}|[1-9]{1}[09]{1}|[1-9]|0)\. (25[0-5]|2[0-4][0-9]|[0-1 ]{1}[0-9]{2}|[1-9]{1}[09]{1}|[1-9]|0)\. (25[0-5]|2[0-4][0-9]|[0-1 ]{1}[0-9]{2}|[1-9]{1}[09]{1}|[0-9])"/> </restriction> </simpleType> <simpleType name="ipType"> <restriction base="token"> <enumeration value="v4"/> </restriction> </simpleType> </xml>

16.

17.

18. 19. 20. 21. 22. 23. 24. 25.

Copyright 2010, Realtime Register B.V.

12

EPP API Documentation, V1.0, May 2010

trStatusType

Transfer status

One of the values "rejectedprov", "rejecteddef", "rejected", "pendingfoa", "failed", "completed", "approvedprov", "approveddef", "approved", "cancelled", "requested", "pendingwhois", "pending"
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. <xml> <simpleType name="trStatusType"> <restriction base="token"> <enumeration value="rejectedprov"/> <enumeration value="rejecteddef"/> <enumeration value="rejected"/> <enumeration value="pendingfoa"/> <enumeration value="failed"/> <enumeration value="completed"/> <enumeration value="approvedprov"/> <enumeration value="approveddef"/> <enumeration value="approved"/> <enumeration value="cancelled"/> <enumeration value="requested"/> <enumeration value="pendingwhois"/> <enumeration value="pending"/> </restriction> </simpleType> </xml>

Types.EPP
Type pwType Purpose Passwords, <pw> and <newPW> in <login> Restriction / Source Minimum length is 6 and the maximum length is 16.
1. 2. 3. 4. 5. 6. <simpleType name="pwType"> <restriction base="token"> <minLength value="6" /> <maxLength value="16" /> </restriction> </simpleType>

trIDStringType

Transaction identifiers, clTRID an svTRID in <command> and <response>

Minimum length is 3 and the maximum length is 64.


1. 2. 3. 4. 5. 6. <simpleType name="trIDStringType" > <restriction base="token"> <minLength value="3" /> <maxLength value="64" /> </restriction> </simpleType>

versionType

Server version numbering

Consists of a major and a minor version number separated by a ".", currently only 1.0 is allowed.
1. 2. 3. 4. 5. 6. <simpleType name="versionType"> <restriction base="token"> <pattern value= "[1-9]+\.[0-9]+"/> <enumeration value= "1.0"/> </restriction> </simpleType>

Copyright 2010, Realtime Register B.V.

13

EPP API Documentation, V1.0, May 2010

msgType

A server message

A non restricted string


1. 2. 3. <complexType name="msgType"> <simpleContent> <extension base= "normalizedString" > <attribute name="lang" type= "language" default="en" /> </extension> </simpleContent> </complexType>

4.

5. 6. 7.

Types.EPPcom
Type clIDType Purpose Object identifier contacts and dealers Restriction/Source May only consist of the characters "a-z", "A-Z", "0-9", "-", "_", "@" and "." with a minimum length of 3 and a maximum length of 40.
01. 02. 03. 04. 05. 06. 07. 08. 09. <xml> <simpleType name="clIDType"> <restriction base="token"> <pattern value= "[a-zA-Z0-9\-_@\.]{3,40}"/> <minLength value="3"/> <maxLength value="40"/> </restriction> </simpleType> </xml>

reasonType

Reason for non available object

Minimum length of 1 and maximum length of 255


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <xml> <complexType name="reasonType"> <simpleContent> <extension base="eppcom:reasonBaseType" > <attribute name="lang" type= "language"/> </extension> </simpleContent> </complexType> <simpleType name="reasonBaseType"> <restriction base="token"> <minLength value="1"/> <maxLength value="255"/> </restriction> </simpleType> </xml>

roidType

Server object identifier

"<id>-<type>" where id is the object ID and type is the DOMAIN or CONTACT.


1. 2. 3. 4. 5. 6. 7. <xml> <simpleType name="roidType"> <restriction base="token"> <pattern value= "\d{1,10}-(DOMAIN|CONTACT)"/> </restriction> </simpleType> </xml>

Copyright 2010, Realtime Register B.V.

14

EPP API Documentation, V1.0, May 2010

pwAuthInfoType

Object authentication password

Object is 1, and maximum length 64


1. 2. 3. 4. 5. 6. 7. 8. <xml> <simpleType name="pwAuthInfoType"> <restriction base="normalizedString"> <minLength value="1"/> <maxLength value="64"/> </restriction> </simpleType> </xml>

Types.XSI
Type dateTime language date Purpose Representation of a date and time Language specification Representation of a date Source http://www.w3.org/TR/xmlschema-2/#dateTime http://www.w3.org/TR/xmlschema-2/#language http://www.w3.org/TR/xmlschema-2/#date

Copyright 2010, Realtime Register B.V.

15

EPP API Documentation, V1.0, May 2010

Response Codes
All <response> messages have a result code, a message with the description of the result code and optionally additional error messages. The response codes that can be returned are: Code 1000 1001 1300 1301 1500 2000 2001 2002 2003 2004 2005 2100 2101 2102 2103 2104 2105 2106 2200 2201 2202 2300 2301 2302 2303 2304 2305 2306 2307 2308 2400 2500 2501 2502 Message Command completed successfully Command completed successfully; action pending Command completed successfully; no messages Command completed successfully; ack to de-queue Command completed successfully; ending session Unknown command Command syntax error Command use error Required parameter missing Parameter value range error Parameter value syntax error Unimplemented protocol version Unimplemented command Unimplemented option Unimplemented extension Billing failure Object is not eligible for renewal Object is not eligible for transfer Authentication error Authorization error Invalid authorization information Object pending transfer Object not pending transfer Object exists Object does not exist Object status prohibits operation Object association prohibits operation Parameter value policy error Unimplemented object service Data management policy violation Command failed Command failed; server closing connection Authentication error; server closing connection Session limit exceeded; server closing connection

Copyright 2010, Realtime Register B.V.

16

EPP API Documentation, V1.0, May 2010

EPP
Scheme

The root element for all documents is the <epp> element, because this is the root element then the document type must be specified in this element. The following attributes are required: xmlns The root name space, this must be: http://www.yoursrs.com/xml/epp/epp-1.0 xmlns<nowiki>:</nowiki>epp The URI for the epp name space, this must be: http://www.yoursrs.com/xml/epp/epp-1.0 xmlns<nowiki>:</nowiki>xsi The URI to the xsi name space, this must be: http://www.w3.org/2001/XMLSchema-instance xsi<nowiki>:</nowiki>schemaLocation The schema location for the used namespaces, this must at least include the epp namespace: http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd It is also possible to specify the namespaces and schema locations of the contact and domain name space in the epp element, in this case it doesn't have to be specified when using the namespace. The following attributes can be specified xmlns<nowiki>:</nowiki>contact The URI for the contact name space, this must be: http://www.yoursrs.com/xml/epp/contact-1.0 xmlns<nowiki>:</nowiki>domain The URI for the domain name space, this must be: http://www.yoursrs.com/xml/epp/domain-1.0 xsi<nowiki>:</nowiki>schemaLocation The schema location must include the schema locations of any additional namespace, for example: "http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd" Epp root element without additional name space specifications
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. <xml> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <\!-\- One of: - greeting - hello - command - response \--> </epp> </xml>

Epp root element with additional name space specifications

Copyright 2010, Realtime Register B.V.

17

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08.

09. 10. 11. 12. 13. 14. 15. 16.

<xml> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:contact="http://www.yoursrs.com/xml/epp/contact-1.0" xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd [ http://www.yoursrs.com/xml/epp/contact-1.0] contact-1.0.xsd [ http://www.yoursrs.com/xml/epp/domain-1.0] domain-1.0.xsd"> <\!-\- One of: - greeting - hello - command - response \--> </epp> </xml>

The root element must also contain one of the elements <greeting>, <hello>, <command> or <response>, the purpose and specification of these elements are described hereafter.

EPP.Greeting
In the <greeting> the server also provides the client with the necessary information to use the EPP interface. The <greeting> may only be send by the server, if a <greeting> is send to the server it wil result in a error. The <greeting> is send by the server opon a new connection and as response to a <hello>.

Scheme The following information is supplied: svID The name of the server, which can be used to identify the server. Possible values are: '''Realtime Register Development''' For the development environment '''Realtime Register OT&E''' For the OT&E environment '''Realtime Register ''' For the production environment svDate The current date and time of the server

Copyright 2010, Realtime Register B.V.

18

EPP API Documentation, V1.0, May 2010

version The available EPP versions on the server lang The available languages for the server messages objURI The available name space URI's Example greeting send by the production server
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <greeting> <svID>Realtime Register 1.0</svID> <svDate>2005-12-27T09:38:53.0Z</svDate> <svcMenu> <version>1.0</version> <lang>en</lang> <objURI>http://www.yoursrs.com/xml/epp/contact-1.0</objURI> <objURI>http://www.yoursrs.com/xml/epp/domain-1.0</objURI> </svcMenu> <dcp> <access> <all/> </access> <statement> <purpose> <admin/> <prov/> </purpose> <recipient> <ours/> <public/> </recipient> <retention> <stated/> </retention> </statement> </dcp> </greeting> </epp>

EPP.Hello
A <hello> can be send to the server by the client to request a <greeting>. Scheme

Example

Copyright 2010, Realtime Register B.V.

19

EPP API Documentation, V1.0, May 2010

1. 2. 3. 4. 5. 6. 7.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <hello/> </epp>

EPP.Command
The <command> is used to perform actions on the server. Scheme

command Contains the commands to be executed, must be one of the these elements: login, logout, check, info, create, update, renew, transfer, trade or delete. These will be explained and specified hereafter. clTRID An optional clTRID element may also be provided, if it is provided the <response> will include the value in the <clTRID> element. This can be used to track and log commands. Example

Copyright 2010, Realtime Register B.V.

20

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.

<xml> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <!-- One of: - login - logout - check - info - create - update - renew - transfer - trade - delete --> <clTRID>client-12345</clTRID> </command> </epp>

EPP.Command.Login
A <login> command is used to login to the EPP server, it can also be used to change the password. Scheme

clID The username, this is the dealer code you have chosen during registration. pw The password. newPW Optionally a new password. The <login> command cannot be send after a successful <login> has been processed, thus the password can only be changed at the beginning of the session. version The EPP version for this session, currently only "1.0" is allowed. lang The language for this session, currently only "en" is allowed. Example login

Copyright 2010, Realtime Register B.V.

21

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <login> <clID>dealer</clID> <pw>password</pw> <options> <version>1.0</version> <lang>en</lang> </options> </login> <clTRID>client-12345</clTRID> </command> </epp>

Example login with password change


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <login> <clID>dealer</clID> <pw>password</pw> <newPW>change</newPW> <options> <version>1.0</version> <lang>en</lang> </options> </login> <clTRID>client-12345</clTRID> </command> </epp>

A successful <login> will result in a <response> code 1000 with no resData. The following errors may occur: 2002 Command use error A successful login command has already been processed 2200 Authentication error The <login> could not be processed because of one of the following reasons: Invalid combination of <clID> and <pw> values. The account has been locked, in this case you will get an additional error.

EPP.Command.Logout
The <logout> command is used to end an EPP session. Scheme

The <logout> command has no child elements. Example logout

Copyright 2010, Realtime Register B.V.

22

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <logout/> <clTRID>client-12345</clTRID> </command> </epp>

A successful <login> will result in a <response> code 1500 with no resData and the TCP connection will be closed.

EPP.Command.Check
The <check> command is used to check if an object could be created, it may contain a <contact:check> or <domain:check>. Scheme

Example
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <check> <!-- One of: - contact:check - domain:check --> </check> <clTRID>client-12345</clTRID> </command> </epp>

EPP.Command.Info
The <info> command is used to query the server for information of an existing object that is managed by the current user, it may contain a <contact:info> or <domain:info>. Scheme

Example
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <info> <!-- One of: - contact:info - domain:info --> </info> <clTRID>client-12345</clTRID> </command> </epp>

Copyright 2010, Realtime Register B.V.

23

EPP API Documentation, V1.0, May 2010

EPP.Command.Create
The <create> command is used to create a new object, it may contain a <contact:create> or <domain:create>. Scheme

Example
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <create> <!-- One of: - contact:create - domain:create --> </create> <clTRID>client-12345</clTRID> </command> </epp>

EPP.Command.Update
The <update> command is used to update an existing object that is managed by the current user, it may contain a <contact:update> or <domain:update>. Scheme

Example
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <update> <!-- One of: - contact:update - domain:update --> </update> <clTRID>client-12345</clTRID> </command> </epp>

EPP.Command.Renew
The <renew> command is used to extend the validity period of an existing object that is managed by the current user, it may contain only a <domain:renew>. Scheme

Example

Copyright 2010, Realtime Register B.V.

24

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <renew> <!-- One of: - domain:renew --> </renew> <clTRID>client-12345</clTRID> </command> </epp>

EPP.Command.Transfer
The <transfer> command is used to change the sponsorship of an existing object, it may contain only a <domain:transfer>. Scheme

;Example
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <transfer op="request"><!-- Available values for op: "request", "query", "cancel", "approve", "reject" --> <!-- One of: - domain:transfer --> </transfer> <clTRID>client-12345</clTRID> </command> </epp>

EPP.Command.Trade
The <trade> command is used to change the owner of an existing object, it may only contain a <domain:trade>. Scheme

Example

Copyright 2010, Realtime Register B.V.

25

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <trade> <!-- One of: - domain:trade --> </trade> <clTRID>client-12345</clTRID> </command> </epp>

EPP.Command.Delete
The <delete> command is used to remove an object that is managed by the current user, it may contain a <contact:delete> or <domain:delete>. Scheme

Example
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <delete-> <!-- One of: - contact:delete - domain:delete --> </delete> <clTRID>client-12345</clTRID> </command> </epp>

EPP.Response
The <response> is used by the server to inform the client of the result of the <command> it requested. The <response> may only be sent by the server, if a <response> is sent to the server it will result in a error. Scheme

Copyright 2010, Realtime Register B.V.

26

EPP API Documentation, V1.0, May 2010

code The response code describing the general result of the action. msg The first <msg> element is the textual representation of the [#Response_codes], if the response code is an error there may be an additional <msg> elements with error messages. resData Some commands need to send additional info to the client if the command was processed successfully, this is done in the <resData> element. <resData> may contain one of the following elements. <contact:chkData> after a successful <contact:check> command. <domain:chkData> after a successful <domain:check> command. <contact:infData> after a successful <contact:info> command. <domain:infData> after a successful <domain:info> command. <contact:creData> after a successful <contact:create> command. <domain:creData> after a successful <domain:create> command. <domain:renData> after a successful <domain:renew> command. <domain:trnData> after a successful <domain:transfer> command. clTRID If an <clTRID> element is provided in the <command> this value will be returned in the <clTRID> element of the <response>. This can be used to track and log commands. svTRID This is the server unique identifier, it is needed for support request regarding a specific request. Example <response> code 1000 without <resData> element
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Copyright 2010, Realtime Register B.V.

27

EPP API Documentation, V1.0, May 2010

Example <response> code 1000 with <resData> element


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <!-- One of: - contact:chkData - domain:chkData - contact:infData - domain:infData - contact:creData - domain:creData - domain:renData - domain:trnData --> </resData> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Example <response> code 2302 without <resData> element and additional error message
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="2302"> <msg>Object exists</msg> <msg>Additional error message</msg> </result> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

A successfully executed command will result in a <response> with a code 1000 or 1001, except for a <logout> command, this will result in a code 1500. Each command has a set of errors where it can be generate, they are described on a per command basis. There are also errors that are not command specific and can occur anywhere. A description of these response codes is given here.

1000 Command completed successfully


The command has been executed successfully. Example

Copyright 2010, Realtime Register B.V.

28

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

1001 Command completed successfully - action pending


The command has been executed successfully but hash not been entirely completed. This can happen when a command is requesting for a TLD that does not have a real time interface, for instance when a request is send to the TLD by email. This means that the command is successfully requested but it has not yet been confirmed by the TLD. The status of the object that the command was requested will show that there is an action pending. If the command is confirmed by the TLD the status of the object will then be changed, if the command is rejected your will be informed by email and the changes to the object will be reverted. Example
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1001"> <msg>Command completed successfully; action pending</msg> </result> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

2000 Unknown command


There are ways this error can occur. No data has been sent to the server, the server will send a <response> code 2000 with additional error message "No input found". Example
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="2000"> <msg>Unknown command</msg> <msg>No input found</msg> </result> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

The data sent to the server is valid but does not contain a valid command, for instance when a <greeting> or <response> is sent to the

Copyright 2010, Realtime Register B.V.

29

EPP API Documentation, V1.0, May 2010

server, the server will send a <response> code 2000. Example


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="2000"> <msg>Unknown command</msg> </result> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

2001 Command syntax error


The syntax of the command is invalid, additional error messages will be send to specify the error. Example
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="2001"> <msg>Command syntax error</msg> <msg>XML parse exception, line 8, column 1: The input ended before all started tags were ended. Last tag started was 'epp'</msg> </result> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

2101 Unimplemented command


The command send to the server is valid but it is not implemented. This can happen when a command is being executed on a TLD that does not support the command; additional error messages may be supplied. Example
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="2101"> <msg>Unimplemented command</msg> </result> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

2104 Billing failure

Copyright 2010, Realtime Register B.V.

30

EPP API Documentation, V1.0, May 2010

Your current account credit is not sufficient enough to execute the requested command. Example
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="2104"> <msg>Billing failure</msg> </result> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

2200 Authentication error


The requested command requires authentication, you must execute a <login> first. Example
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="2200"> <msg>Authentication error</msg> </result> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

2400 Command failed


The requested command can not be executed due to an internal error in the server, please contact us to track the source of the error and resolve it. Example
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="2400"> <msg>Command failed</msg> </result> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Copyright 2010, Realtime Register B.V.

31

EPP API Documentation, V1.0, May 2010

4. Contact
The contact name space is used to manage the contacts in the system. If the name space is used in a command it needs to be defined inside the document, this can be done in the root <epp> element or in the first element of the contact name space. Example of name space definition in root element
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. <xml> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:contact="http://www.yoursrs.com/xml/epp/contact-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <command> <check> <contact:check> <!-- ... --> </contact:check> </check> <clTRID>client-12345</clTRID> </command> </epp> </xml>

Example of name space definition in first contact name space element


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. <xml> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <check> <contact:check xmlns:contact=" http://www.yoursrs.com/xml/epp/contact-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <!-- ... --> </contact:check> </check> <clTRID>client-12345</clTRID> </command> </epp> </xml>

Copyright 2010, Realtime Register B.V.

32

EPP API Documentation, V1.0, May 2010

Contact.Check
This command checks if a contact ID is available for creation. A <contact:check> command can be used to check multiple contacts at once. If more than one contact needs to be checked it is much faster to send one <contact:check> command with multiple contacts than to send multiple <contact:check> commands. There are no limits to the maximum amount of contacts to check as long as the total [#Data_Unit_Format] size remains below the maximum size. Scheme

id The ID of the contact to be checked Example <contact:check> command with one contact
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. <xml> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <check> <contact:check xmlns:contact=" http://www.yoursrs.com/xml/epp/contact-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <contact:id>contact-1</contact:id> </contact:check> </check> <clTRID>client-12345</clTRID> </command> </epp> </xml>

Example <contact:check> command with three contacts


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. <xml> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <check> <contact:check xmlns:contact=" http://www.yoursrs.com/xml/epp/contact-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <contact:id>contact-1</contact:id> <contact:id>contact-2</contact:id> <contact:id>contact-3</contact:id> </contact:check> </check> <clTRID>client-12345</clTRID> </command> </epp> </xml>

A successful <contact:check> will result in a <response> code 1000 with a <contact:chkData> resData element. Contact.chkData The <contact:chkData> element is send by the server in the <response> to a successful <contact:check> command. It supplies the client with the availability information of the contact(s) in the <contact:check> command.

Copyright 2010, Realtime Register B.V.

33

EPP API Documentation, V1.0, May 2010

Scheme

For each checked contact a <contact:cd> element is supplied. id The id of the checked contact with an attribute "avail" with the value "1" for available or "0" for not available. reason If the contact is not available for another reason then it is already created, this element contains the reason why it is not available. Example <response> with a <contact:chkData> element for one contact
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg/> </result> <resData> <contact:chkData xmlns:contact=" http://www.yoursrs.com/xml/epp/contact-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <contact:cd> <contact:id avail="1">contact-1</contact:id> </contact:cd> </contact:chkData> </resData> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Example <response> with a <contact:chkData> element for three contacts

Copyright 2010, Realtime Register B.V.

34

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg/> </result> <resData> <contact:chkData xmlns:contact=" http://www.yoursrs.com/xml/epp/contact-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <contact:cd> <contact:id avail="1">contact-1</contact:id> </contact:cd> <contact:cd> <contact:id avail="0">contact-2</contact:id> </contact:cd> <contact:cd> <contact:id avail="1">contact-3</contact:id> </contact:cd> </contact:chkData> </resData> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Copyright 2010, Realtime Register B.V.

35

EPP API Documentation, V1.0, May 2010

Contact.Info
This command is used to retrieve details of an existing contact. Scheme

id:The ID of the contact to request info of Example <contact:info> command


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <info> <contact:info xmlns:contact="http://www.yoursrs.com/xml/epp/contact-1.0 " xsi:schemaLocation="http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <contact:id>contact-2</contact:id> </contact:info> </info> <clTRID>client-12345</clTRID> </command> </epp>

A successful <contact:info> will result in a <response> code 1000 with a <contact:infData> resData element. The following errors may occur: 2303 Object does not exist The requested contact does not exist

Contact.infData
The <contact:infData> element is send by the server in the <response> to a successful <contact:info> command. It supplies the client with the contact details of the contact requested in the <contact:info> command. Scheme

Copyright 2010, Realtime Register B.V.

36

EPP API Documentation, V1.0, May 2010

id:The ID of the contact roid:The Repository Object Identifier, this is a server assigned unique ID status:The status of the contact

Copyright 2010, Realtime Register B.V.

37

EPP API Documentation, V1.0, May 2010

name:The name of the contact org:The organization name of the contact street:The street line(s) of the contact address city:The city of the contact address sp:The state or province of the contact address pc:The postal code of the contact address cc:The country code of the contact address voice:The telephone number of the contact fax:The fax number of the contact email:The email address of the contact gender:The gender of the contact lang:The preferred language of the contact clID:The sponsoring dealer of the contact crData:The creation date and time of the contact upDate:The date and time of the last update of the contact Example <response> with a <contact:infData> element with all elements
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <contact:infData xmlns:contact=" http://www.yoursrs.com/xml/epp/contact-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <contact:id>contact-2</contact:id> <contact:roid>12345-YOURSRS</contact:roid> <contact:status s="ok"/> <contact:postalInfo type="int"> <contact:name>John Doe</contact:name> <contact:org>12Register B.V.</contact:org> <contact:addr> <contact:street>Schrevenweg 5</contact:street> <contact:street>Street line 2</contact:street> <contact:street>Street line 3</contact:street> <contact:city>Zwolle</contact:city> <contact:sp>Overijssel</contact:sp> <contact:pc>8024 HB</contact:pc> <contact:cc>NL</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+31.384530752</contact:voice> <contact:fax>+31.384524734</contact:fax> <contact:email>info@12register.com</contact:email> <contact:gender>male</contact:gender> <contact:lang>EN</contact:lang> <contact:clID>dealer</contact:clID> <contact:crDate>2005-02-14T09:59:14.0Z</contact:crDate> <contact:upDate>2005-02-14T09:59:50.0Z</contact:upDate> </contact:infData> </resData> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Example <response> with a <contact:infData> element with only required elements

Copyright 2010, Realtime Register B.V.

38

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <contact:infData xmlns:contact=" http://www.yoursrs.com/xml/epp/contact-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <contact:id>contact-2</contact:id> <contact:roid>12345-YOURSRS</contact:roid> <contact:status s="ok"/> <contact:postalInfo type="int"> <contact:name>John Doe</contact:name> <contact:addr> <contact:street>Schrevenweg 5</contact:street> <contact:city>Zwolle</contact:city> <contact:pc>8024 HB</contact:pc> <contact:cc>NL</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+31.384530752</contact:voice> <contact:email>info@12register.com</contact:email> <contact:clID>dealer</contact:clID> <contact:crDate>2005-02-14T09:59:14.0Z</contact:crDate> </contact:infData> </resData> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Copyright 2010, Realtime Register B.V.

39

EPP API Documentation, V1.0, May 2010

Contact.Create
This command is used to create a new contact Scheme

id:The ID of the contact, this id may not exist, you can use a <contact:check> command to check if the ID is available. name:The name of the contact org:The organisation name of the contact if given, a contact will be an organization, if not given the contact will be a private person street:The street line(s) of the contact address city:The city of the contact address sp:The state or province of the contact address pc:The postal code of the contact address cc:The country code of the contact address voice:The telephone number of the contact fax:The fax number of the contact email:The email address of the contact

Copyright 2010, Realtime Register B.V.

40

EPP API Documentation, V1.0, May 2010

gender:The gender of the contact lang:The prefeerd language of the contact Example <contact:create> command with all elements.
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <create> <contact:create xmlns:contact=" http://www.yoursrs.com/xml/epp/contact-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <contact:id>contact-4</contact:id> <contact:postalInfo type="int"> <contact:name>John Doo</contact:name> <contact:org>12Register B.V.</contact:org> <contact:addr> <contact:street>Schrevenweg 5</contact:street> <contact:street>Extra address line 1</contact:street> <contact:street>Extra addesss line 2</contact:street> <contact:city>Zwolle</contact:city> <contact:sp>Overijssel</contact:sp> <contact:pc>8024 HB</contact:pc> <contact:cc>NL</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+31.384530752</contact:voice> <contact:fax>+31.384524734</contact:fax> <contact:email>info@12register.com</contact:email> <contact:gender>male</contact:gender> <contact:lang>EN</contact:lang> </contact:create> </create> <clTRID>client-12345</clTRID> </command> </epp>

Example <contact:create> command with only required elements.


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <create> <contact:create xmlns:contact=" http://www.yoursrs.com/xml/epp/contact-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <contact:id>contact-4</contact:id> <contact:postalInfo type="int"> <contact:name>John Doo</contact:name> <contact:addr> <contact:street>Schrevenweg 5</contact:street> <contact:city>Zwolle</contact:city> <contact:pc>8024 HB</contact:pc> <contact:cc>NL</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+31.384530752</contact:voice> <contact:email>info@12register.com</contact:email> </contact:create> </create> <clTRID>client-12345</clTRID> </command> </epp>

A successful <contact:create> will result in a <response> code 1000 with a <contact:creData> resData element. The following errors may occur:

Copyright 2010, Realtime Register B.V.

41

EPP API Documentation, V1.0, May 2010

2302 Object exists The given contact ID already exists

Contact.creData
The <contact:creData> element is send by the server in the <response> to a successful <contact:create> command. It supplies the client with the contact creation details of the contact created in the <contact:create> command. Scheme

id:The ID of the contact crDate:The date and time the contact was created Example <response> with a <contact:creData> element
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <contact:creData xmlns:contact=" http://www.yoursrs.com/xml/epp/contact-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <contact:id>contact-4</contact:id> <contact:crDate>2005-12-27T09:38:53.0Z</contact:crDate> </contact:creData> </resData> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Copyright 2010, Realtime Register B.V.

42

EPP API Documentation, V1.0, May 2010

Contact.Update
The <contact:update> command is used to change the details of a contact. The contact details will be changed for all domains which are using the contact information. Because all TLD's have different rules on what may and what may not be changed it is possible a <contact:update> can not be executed because of its association with one or more domain names. Only the fields that are changed needs to be specified, except for the fields inside the "addr" element, if one field inside the "addr" element is changed, all fields inside the "addr" element needs to be specified. Elements that are optional on creation may be deleted by specifying an empty element. Only the "id"element can not be changed. Scheme

id: The ID of the contact to be changed. name: The name of the contact. org: The organization name of the contact, if given a contact will be a organization, if not given the contact will be a private person. This field may be deleted by specifying an empty element. street: The street line(s) of the contact address. city: The city of the contact address. sp: The state or province of the contact address. This field can be deleted by not specifying it, an empty element is not needed because the entire address is re-specified. pc: The postal code of the contact address. cc: The country code of the contact address. voice: The telephone number of the contact.

Copyright 2010, Realtime Register B.V.

43

EPP API Documentation, V1.0, May 2010

fax: The fax number of the contact. This field may be deleted by specifying an empty element. email: The email address of the contact. gender: The gender of the contact. This field may be deleted by specifying an empty element. lang: The prefeerd language of the contact. This field may be deleted by specifying an empty element. Example <contact:update> command where all fields are changed.
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <update> <contact:update xmlns:contact=" http://www.yoursrs.com/xml/epp/contact-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <contact:id>contact-2</contact:id> <contact:chg> <contact:postalInfo type="int"> <contact:name>John Doe</contact:name> <contact:org>12Register B.V.</contact:org> <contact:addr> <contact:street>Schrevenweg 5</contact:street> <contact:city>Zwolle</contact:city> <contact:sp>Overijssel</contact:sp> <contact:pc>8024 HB</contact:pc> <contact:cc>NL</contact:cc> </contact:addr> </contact:postalInfo> <contact:voice>+31.384530752</contact:voice> <contact:fax>+31.384530752</contact:fax> <contact:email>info@12register.com</contact:email> <contact:gender>male</contact:gender> <contact:lang>EN</contact:lang> </contact:chg> </contact:update> </update> <clTRID>client-12345</clTRID> </command> </epp>

Example <contact:update> command where org, fax, gender and lang are deleted
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <update> <contact:update xmlns:contact=" http://www.yoursrs.com/xml/epp/contact-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <contact:id>contact-2</contact:id> <contact:chg> <contact:postalInfo type="int"> <contact:org/> </contact:postalInfo> <contact:voice>+31.384530752</contact:voice> <contact:fax/> <contact:gender/> <contact:lang/> </contact:chg> </contact:update> </update> <clTRID>client-12345</clTRID> </command> </epp>

A successful <login> will result in a <response> code 1000 or 1001 with no resData. The following errors may occur:

Copyright 2010, Realtime Register B.V.

44

EPP API Documentation, V1.0, May 2010

2303 Object does not exist The requested contact does not exist 2305 Object association prohibits operation A TLD cannot execute the update due to regulations at the TLD. The specific reason and TLD is explained in the additional error messages.

Copyright 2010, Realtime Register B.V.

45

EPP API Documentation, V1.0, May 2010

Contact.Delete
The <contact:delete> command is used to remove a contact from the system, this van only be done if the contact is not used anymore in the system. Scheme

id: The ID of the contact to delete Example <contact:delete> command


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <delete> <contact:delete xmlns:contact=" http://www.yoursrs.com/xml/epp/contact-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/contact-1.0 contact-1.0.xsd"> <contact:id>contact-6</contact:id> </contact:delete> </delete> <clTRID>client-12345</clTRID> </command> </epp>

A successful <contact:delete> will result in a <response> code 1000 or 1001 with no resData. The following errors may occur: 2303 Object does not exist The requested contact does not exist 2305 Object association prohibits operation The contact is being used in the system, any additional error messages will explain where, it can be one of these reasons: This contact is used in ''<num>'' domains This contact is used in ''<num>'' active transfers This contact is used in your dealer settings

Copyright 2010, Realtime Register B.V.

46

EPP API Documentation, V1.0, May 2010

5. Domain
The domain name space is used to manage the domain names in the system. If the name space is used in a command it needs to be defined inside the document, this can be done in the root <epp> element or in the first element of the domain name space. Example name space definition in root element
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <command> <check> <domain:check> <!-- ... --> </domain:check> </check> <clTRID>client-12345</clTRID> </command> </epp>

Example name space definition in first domain name space element


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <check> <domain:check xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <!-- ... --> </domain:check> </check> <clTRID>client-12345</clTRID> </command> </epp>

Copyright 2010, Realtime Register B.V.

47

EPP API Documentation, V1.0, May 2010

Domain.Check
This command checks if a domain name is available for creation. A <domain:check> command can be used to check multiple domain names at once. If more then one domain name needs to be checked it is faster to send one <domain:check> command with multiple domain names then to send multiple <domain:check> commands. There are no limits to the maximum amount of domain names to be checked but it takes time to check a domain name. Scheme

name:The domain name to check, including the TLD Example <domain:check> command with one domain name
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <check> <domain:check xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.nl</domain:name> </domain:check> </check> <clTRID>client-12345</clTRID> </command> </epp>

Example <domain:check> command with three domain names


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <check> <domain:check xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.nl</domain:name> <domain:name>domain.be</domain:name> <domain:name>domain.co.uk</domain:name> </domain:check> </check> <clTRID>client-12345</clTRID> </command> </epp>

A successful <domain:check> will result in a <response> code 1000 with a <domain:chkData> resData element.

Domain.chkData
The <domain:chkData> element is send by the server in the <response> to a successful <domain:check> command. It supplies the client with the availability information of the domain name(s) in the <domain:check> command. Scheme

Copyright 2010, Realtime Register B.V.

48

EPP API Documentation, V1.0, May 2010

For each checked domain name a <domain:cd> element is supplied. name The name of the checked domain name with an attribute "avail" and with value "1" for available or "0" for not available. reason If the domain name is not available for another reason than it is already created, this element contains the reason why it is not available. Example <response> with a <domain:chkData> element for one domain name
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:chkData xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0 " xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:cd> <domain:name avail="1">domain.nl</domain:name> </domain:cd> </domain:chkData> </resData> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Example <response> with a <domain:chkData> element for three domain names

Copyright 2010, Realtime Register B.V.

49

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:chkData xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0 " xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:cd> <domain:name avail="1">domain.nl</domain:name> </domain:cd> <domain:cd> <domain:name avail="0">domain.be</domain:name> </domain:cd> <domain:cd> <domain:name avail="0">domain.abc</domain:name> <domain:reason>TLD not supported</domain:reason> </domain:cd> </domain:chkData> </resData> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Copyright 2010, Realtime Register B.V.

50

EPP API Documentation, V1.0, May 2010

Domain.Info
This command is used to retrieve details of an existing domain name. Scheme

name: The domain name to request info of. Example <domain:info> command
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <info> <domain:info xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.be</domain:name> </domain:info> </info> <clTRID>client-12345</clTRID> </command> </epp>

A successful <domain:info> will result in a <response> code 1000 with a <domain:infData> resData element. The following errors may occur: 2201 Authorization error The requested domain name does exist in the system but you are not authorized to request its details. 2303 Object does not exist The requested domain name does not exist in the system, this does not mean it is available

Domain.infData
The <domain:infData> element is send by the server in the <response> to a successful <domain:info> command. It supplies the client with the domain name details of the domain name requested in the <domain:info> command. Scheme

Copyright 2010, Realtime Register B.V.

51

EPP API Documentation, V1.0, May 2010

name: The domain name. roid: The Repository Object Identifier, this is a server assigned unique ID. status: The status of the domain name. ns: The name servers associated with the domain name. hostName: The host name of the name server. hostAddr: The IP address of the name server. registrant: The registrant contact of the domain name. contact: The other contacts associated with the domain name, the relation is specified in the type attribute. renew: The domain name has an auto renew setting. "y" for auto renew, "n" for no auto renew. lock: The domain name is locked. clID: The sponsoring dealer of the domain name. crDate: The creation date and time of the domain name. upDate: The date and time of the last update of the domain name, exDate: The expiration date and time of the domain name, pw: The auth password of the domain name. Example <response> with a <domain:infData> element with all elements

Copyright 2010, Realtime Register B.V.

52

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0 " xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.be</domain:name> <domain:roid>12345-YOURSRS</domain:roid> <domain:status s="ok"/> <domain:ns> <domain:hostAttr> <domain:hostName>ns1.yoursrs.com</domain:hostName> <domain:hostAddr>217.170.2.195</domain:hostAddr> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns2.yoursrs.com</domain:hostName> </domain:hostAttr> </domain:ns> <domain:registrant>contact-2</domain:registrant> <domain:contact type="admin">contact-3</domain:contact> <domain:contact type="billing">contact-3</domain:contact> <domain:contact type="tech">contact-3</domain:contact> <domain:renew>y</domain:renew> <domain:lock/> <domain:clID>dealer</domain:clID> <domain:crDate>2005-02-14T09:59:14.0Z</domain:crDate> <domain:upDate>2005-02-14T09:59:50.0Z</domain:upDate> <domain:exDate>2007-02-14T09:59:14.0Z</domain:exDate> <domain:authInfo> <domain:pw>key</domain:pw> </domain:authInfo> </domain:infData> </resData> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Example <response> with a <domain:infData> element with only required elements

Copyright 2010, Realtime Register B.V.

53

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0 " xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.be</domain:name> <domain:roid>12345-YOURSRS</domain:roid> <domain:status s="ok"/> <domain:registrant>contact-2</domain:registrant> <domain:contact type="admin">contact-3</domain:contact> <domain:contact type="billing">contact-3</domain:contact> <domain:contact type="tech">contact-3</domain:contact> <domain:clID>dealer</domain:clID> <domain:crDate>2005-02-14T09:59:14.0Z</domain:crDate> <domain:exDate>2007-02-14T09:59:14.0Z</domain:exDate> </domain:infData> </resData> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Copyright 2010, Realtime Register B.V.

54

EPP API Documentation, V1.0, May 2010

Domain.Create
This command is used to request a new domain name. Scheme

name: The domain name to request. ns:The name servers to be associated with the domain name. hostName:The host name of the name server. hostAddr:The IP address of the name server. registrant:The registrant contact of the domain name. contact:The other contacts associated with the domain name, the relation is specified in the type attribute. renew:The domain name has an auto renew setting. "y" for auto renew, "n" for no auto renew. Example <domain:create> command with all elements.

Copyright 2010, Realtime Register B.V.

55

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <create> <domain:create xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.nl</domain:name> <domain:ns> <domain:hostAttr> <domain:hostName>ns1.yoursrs.com</domain:hostName> <domain:hostAddr>217.170.2.195</domain:hostAddr> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns2.yoursrs.com</domain:hostName> </domain:hostAttr> </domain:ns> <domain:registrant>contact-2</domain:registrant> <domain:contact type="admin">contact-3</domain:contact> <domain:contact type="billing">contact-3</domain:contact> <domain:contact type="tech">contact-3</domain:contact> <domain:renew>n</domain:renew> </domain:create> </create> <clTRID>client-12345</clTRID> </command> </epp>

Example <domain:create> command with only required elements.


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <create> <domain:create xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.nl</domain:name> <domain:registrant>contact-2</domain:registrant> <domain:contact type="admin">contact-3</domain:contact> <domain:contact type="billing">contact-3</domain:contact> <domain:contact type="tech">contact-3</domain:contact> </domain:create> </create> <clTRID>client-12345</clTRID> </command> </epp>

A successful <domain:create> will result in a <response> code 1000 or 1001 with a <domain:creData> resData element. The following errors may occur: 2001 Command syntax error, Contact type "..." is restricted to occur only once* A contact type has been specified twice, there can only be 1 contact per contact type. 2003 Required parameter is missing, Contact types admin, tech and billing are required* A contact must be specified for each of the contact types "admin", "billing" and "tech", one or more of these types have not been specified 2003 Required parameter missing, If a name server host is equal to the domain name or if it's a subordinate host of the domain an ip address must be provided.* An IP address is required for the name server because the domain of which the name server is a part of is not yet created, therefore the name server host cannot be resolved to an IP address. 2302 Object exists* The domain name is not available for registration. 2303 Object does not exist, Contact "..." does not exist* The contact does not exist in the system, this can be the registrant or one of the other contacts. 2306 Parameter value policy error, A domain may not have duplicate name server hosts* A name server host is given more than once in the same registration.

Copyright 2010, Realtime Register B.V.

56

EPP API Documentation, V1.0, May 2010

Other TLD specific errors may occur, additional error messages will be supplied with information on the error.

Domain.creData
The <domain:creData> element is send by the server in the <response> to a successful <domain:create> command. It supplies the client with the domain name creation details of the domain name created in the <domain:create> command. Scheme

name:The requested domain name. crDate:The date and time the domain name was requested. exDate:The expiration date of the domain name. Example <response> with a <domain:creData> element
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:creData xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0 " xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.nl</domain:name> <domain:crDate>2005-12-27T09:38:53.0Z</domain:crDate> <domain:exDate>2006-12-27T09:38:53.0Z</domain:exDate> </domain:creData> </resData> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Copyright 2010, Realtime Register B.V.

57

EPP API Documentation, V1.0, May 2010

Domain.Update
The <domain:update> command is used to change the details of a domain name. The registrant can not be changed with the command, this can be done with the <domain:trade> command. Contact details can not be changed with this command, this can be done with the <contact:update> command. Scheme

add:All things that are to be added into the domain name are specified in this element. ns:The name servers that must be added to the domain name. hostName:The host name of the name server. hostAddr:The IP address of the name server. lock:Lock the domain name. rem:All things that are to be removed from the domain name are specified in this element. ns:The name servers that must be removed to the domain name. There is no need to specify the '''hostAddr''', it will be ignored. hostName:The host name of the name server. lock:Remove the lock from the domain name. chg:All things that are to be changed are specified in this element. contact:The contact(s) that must be changed. renew:The renew setting for the domain name. "y" for auto renew, "n" for no auto renew and undefined for default. Example <domain:update>, add and remove a name server.

Copyright 2010, Realtime Register B.V.

58

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <update> <domain:update xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.be</domain:name> <domain:add> <domain:ns> <domain:hostAttr> <domain:hostName>ns3.yoursrs.com</domain:hostName> <domain:hostAddr>217.170.2.191 </domain:hostAddr> </domain:hostAttr> </domain:ns> </domain:add> <domain:rem> <domain:ns> <domain:hostAttr> <domain:hostName>ns1.yoursrs.com</domain:hostName> </domain:hostAttr> </domain:ns> </domain:rem> </domain:update> </update> <clTRID>client-12345</clTRID> </command> </epp>

Example <domain:update>, lock a domain.


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <update> <domain:update xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.be</domain:name> <domain:add> <domain:lock/> </domain:add> </domain:update> </update> <clTRID>client-12345</clTRID> </command> </epp>

Example <domain:update>, unlock a domain, change a contact and renew setting.

Copyright 2010, Realtime Register B.V.

59

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <update> <domain:update xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.be</domain:name> <domain:rem> <domain:lock/> </domain:rem> <domain:chg> <domain:contact type="admin">contact-5</domain:contact> <domain:renew>y</domain:renew> </domain:chg> </domain:update> </update> <clTRID>client-12345</clTRID> </command> </epp>

Example <domain:update>, remove renew setting.


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <update> <domain:update xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.be</domain:name> <domain:chg> <domain:renew/> </domain:chg> </domain:update> </update> <clTRID>client-12345</clTRID> </command> </epp>

A successful <domain:update> will result in a <response> code 1000 or 1001 with no resData. The following errors may occur: 2003 Required parameter missing, If a name server host is equal to the domain name or if it's a subordinate host of the domain an ip address must be provided.* An IP address is required for the name server because the domain of which the name server is a part of is not created yet, therefore the name server host cannot be resolved to an IP address. 2201 Authorization error* The requested domain name does exist in the system but you are not authorized to change it. 2303 Object does not exist* The domain name does not exist in the system. 2303 Object does not exist, Contact "..." does not exist* A chg contact was requested but the contact does not exist in the system. 2304 Object status prohibits operation, "..." is already locked* An add lock was requested but the domain name is already locked. 2304 Object status prohibits operation, "..." is not locked* A rem lock was requested but the domain name is not locked. 2306 Parameter value policy error, "..." cannot be locked* An add lock was requested but the TLD does not allow a lock. 2306 Parameter value policy error, "..." cannot be unlocked* A rem lock was requested but the TLD does not allow a lock to be removed. 2306 Parameter value policy error, Contact "..." already is the ... contact for "..."* A chg contact was requested but the specified contact is already 2306 Parameter value policy error, Name server "..." is already linked to "..."* An add ns was requested but the name server is already associated with the domain name and it can not be deleted using same command.

Copyright 2010, Realtime Register B.V.

60

EPP API Documentation, V1.0, May 2010

2306 Parameter value policy error, Name server "..." is not linked to "..."* A rem ns was requested but the name server is not associated with the domain name. 2306 Parameter value policy error, A domain may not have duplicate name server hosts* A name server host is given more than once in the same registration. Other TLD specific errors may occur, additional error messages will be supplied with information on the error.

Copyright 2010, Realtime Register B.V.

61

EPP API Documentation, V1.0, May 2010

Domain.Renew
The <domain:renew> command is used to extend the validity period of a domain name. Scheme

name:The domain name curExpDate:The current expiration date of the domain name. This value ensures that repeated <renew> commands do not result in multiple unanticipated successful renewals. Exampele <domain:renew> command.
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <renew> <domain:renew xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.be</domain:name> <domain:curExpDate>2007-02-14</domain:curExpDate> </domain:renew> </renew> <clTRID>client-12345</clTRID> </command> </epp>

A successful <domain:renew> will result in a <response> code 1000 or 1001 with a <domain:renData> resData element. The following errors may occur: 2201 Authorization error The requested domain name does exist in the system but you are not authorized to request its details. 2303 Object does not exist The requested domain name does not exist in the system, this does not mean it is available 2306 Parameter value policy error, curExpDate for "..." is invalid The given curExpDate does not match the current expiration date. Other TLD specific errors may occur, additional error messages will be supplied with information on the error.

Domain.renData
The <domain:renData> element is send by the server in the <response> to a successful <domain:renew> command. It supplies the client with the domain name renewal details of the <domain:renew> command. Scheme

Copyright 2010, Realtime Register B.V.

62

EPP API Documentation, V1.0, May 2010

name:The renewed domain name. exDate:The new expiration date of the domain name. Example <response> with a <domain:renData> element
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:renData xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0 " xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.be</domain:name> <domain:exDate>2008-02-14T09:59:14.0Z</domain:exDate> </domain:renData> </resData> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Copyright 2010, Realtime Register B.V.

63

EPP API Documentation, V1.0, May 2010

Domain.Transfer
The <domain:transfer> command is used to transfer a domain from another registrar to your account. It is currently not yet possible to transfer a domain from another 12register dealer to your account. Scheme

name:The domain name type:The type of transfer requested, there are 2 options: '''transfer''': The domain is transferred, the owner of the domain name may not be changed. '''trade''': The domain is transferred and traded, the owner of the domain name changes. ns:The name servers to be associated with the domain name. hostName:The host name of the name server. hostAddr:The IP address of the name server. registrant:The registrant contact of the domain name. contact:The other contacts associated with the domain name, the relation is specified in the type attribute. pw:The auth password of the domain name. The <domain:transfer> command has five operations that will be explained hereafter.

Domain.Transfer.Request
The "request" operation is used to start a transfer. The <domain:request> element is required for this operation. Example <domain:transfer> with the "request" operation:

Copyright 2010, Realtime Register B.V.

64

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <transfer op="request"> <domain:transfer xmlns:domain=" http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>transfer.be</domain:name> <domain:request type="transfer"> <domain:ns> <domain:hostAttr> <domain:hostName>ns1.yoursrs.com</domain:hostName> <domain:hostAddr>217.170.2.195 </domain:hostAddr> </domain:hostAttr> <domain:hostAttr> <domain:hostName>ns2.yoursrs.com</domain:hostName> <domain:hostAddr>62.58.71.202</domain:hostAddr> </domain:hostAttr> </domain:ns> <domain:registrant>contact-2</domain:registrant> <domain:contact type="admin">contact-3</domain:contact> <domain:contact type="billing">contact-3</domain:contact> <domain:contact type="tech">contact-3</domain:contact> </domain:request> <domain:authInfo> <domain:pw>code</domain:pw> </domain:authInfo> </domain:transfer> </transfer> <clTRID>client-12345</clTRID> </command> </epp>

A successful <domain:transfer> will result in a <response> code 1000 or 1001 with a <domain:traData> resData element. The following errors may occur: 2001 Command syntax error, Contact type "..." is restricted to occur only once* A contact type has been specified twice, there can only be 1 contact per contact type. 2003 Required parameter is missing, Contact types admin, tech and billing are required* A contact must be specified for each of the contact types "admin", "billing" and "tech", one or more of these types have not been specified 2003 Required parameter missing, If a name server host is equal to the domain name or if it's a subordinate host of the domain an ip address must be provided.* A IP address is required for the name server because the domain of which the name server is a part of not created yet, therefore the name server host cannot be resolved to an IP address. 2303 Object does not exist* The domain is available for registration thus it can not be transferred. 2303 Object does not exist, Contact "..." does not exist* The contact does not exist in the system, this can be the registrant or one of the other contacts. 2304 Object status prohibits operation* The status of the domain name does not allow a transfer. 2306 Parameter value policy error, A domain may not have duplicate name server hosts* A name server host is given more then once in the same registration.* Other TLD specific errors may occur, additional error messages will be supplied with information on the error.

Domain.Transfer.Query
The "query" operation is used to request info of an active transfer. Example <domain:transfer> with the "query" operation:

Copyright 2010, Realtime Register B.V.

65

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <transfer op="query"> <domain:transfer xmlns:domain=" http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>transfer.be</domain:name> </domain:transfer> </transfer> <clTRID>client-12345</clTRID> </command> </epp>

A successful <domain:transfer> will result in a <response> code 1000 or 1001 with a <domain:traData> resData element. The following errors may occur: 2301 Object not pending transfer There is no active transfer for this domain.

Domain.Transfer.Cancel
The "cancel" operation is used to cancel a transfer. This is only possible if the transfer is in FOA stage. Example <domain:transfer> with the "cancel" operation:
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <transfer op="cancel"> <domain:transfer xmlns:domain=" http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>transfer.be</domain:name> </domain:transfer> </transfer> <clTRID>client-12345</clTRID> </command> </epp>

A successful <domain:transfer> will result in a <response> code 1000 or 1001 with no resData element. The following errors may occur: 2301 Object not pending transfer There is no active transfer for this domain. 2304 Object status prohibits operation The status of the transfer does not allow a "cancel" operation.

Domain.Transfer.Approve
The "approve" operation is used to approve a transfer that is in FOA stage, this operation is executed by the registrant of the domain name. If a registrant forwards the auth code with the request to approve the transfer, this command may be used to approve the transfer. Example <domain:transfer> with the "approve" operation:

Copyright 2010, Realtime Register B.V.

66

EPP API Documentation, V1.0, May 2010

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <transfer op="approve"> <domain:transfer xmlns:domain=" http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>transfer.be</domain:name> <domain:authInfo> <domain:pw>code</domain:pw> </domain:authInfo> </domain:transfer> </transfer> <clTRID>client-12345</clTRID> </command> </epp>

A successful <domain:transfer> will result in a <response> code 1000 or 1001 with no resData element. The following errors may occur: 2002 Command use error, This transfer code has been used on <date>* The auth code has been used so can not be used again. 2002 Command use error, The approve had already been sent before <date>* The auth code is not valid anymore 2202 Invalid authorization information* The auth code is incorrect 2301 Object not pending transfer* There is no active transfer for this domain. 2304 Object status prohibits operation* The status of the transfer does not allow an "approve" operation.

Domain.Transfer.Reject
The "reject" operation is used to reject a transfer that is in FOA stage, this operation is executed by the registrant of the domain name. If a registrant forwards the auth code with the request to reject the transfer this command may be used to reject the transfer. Example <domain:transfer> with the "reject" operation:
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <transfer op="reject"> <domain:transfer xmlns:domain=" http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>transfer.be</domain:name> <domain:authInfo> <domain:pw>code</domain:pw> </domain:authInfo> </domain:transfer> </transfer> <clTRID>client-12345</clTRID> </command> </epp>

A successful <domain:transfer> will result in a <response> code 1000 or 1001 with no resData element. The following errors may occur: 2002 Command use error, This transfer code has been used on <date>*

Copyright 2010, Realtime Register B.V.

67

EPP API Documentation, V1.0, May 2010

The auth code has been used so can not be used again. 2002 Command use error, The reject had to be send before <date>* The auth code is not valid anymore 2202 Invalid authorization information* The auth code is incorrect 2301 Object not pending transfer* There is no active transfer for this domain. 2304 Object status prohibits operation* The status of the transfer does not allow a "reject" operation.

Domain.trnData
Scheme

01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <trID> <clTRID>client-12345</clTRID> <svTRID>yoursrs-12345</svTRID> </trID> </response> </epp>

Copyright 2010, Realtime Register B.V.

68

EPP API Documentation, V1.0, May 2010

Domain.Trade
This command is used to change the registrant of a domain name. Scheme

name: The domain name to trade. registrant: The new registrant for the domain name. Exampele <domain:trade> command.
01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <trade> <domain:trade xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>transfer.be</domain:name> <domain:registrant>contact-2</domain:registrant> </domain:trade> </trade> <clTRID>client-12345</clTRID> </command> </epp>

A successful <domain:trade> will result in a <response> code 1000 or 1001 with no resData element. The following errors may occur: 2201 Authorization error The requested domain name does exist in the system but you are not authorized to request its details. 2303 Object does not exist The domain name does not exist in the system 2303 Object does not exist, Contact "..." does not exist The new registrant contact does not exist in the system. Other TLD specific errors may occur, additional error messages will be supplied with information on the error.

Copyright 2010, Realtime Register B.V.

69

EPP API Documentation, V1.0, May 2010

Domain.Delete
The <domain:delete> command is used to delete a domain name. Scheme

name: The domain name to delete. Exampele <domain:delete> command.


01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:epp="http://www.yoursrs.com/xml/epp/epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/epp-1.0 epp-1.0.xsd"> <command> <delete> <domain:delete xmlns:domain="http://www.yoursrs.com/xml/epp/domain-1.0" xsi:schemaLocation="http://www.yoursrs.com/xml/epp/domain-1.0 domain-1.0.xsd"> <domain:name>domain.be</domain:name> </domain:delete> </delete> <clTRID>client-12345</clTRID> </command> </epp>

A successful <domain:trade> will result in a <response> code 1000 or 1001 with no resData element. The following errors may occur: 2201 Authorization error The requested domain name does exist in the system but you are not authorized to request its details. 2303 Object does not exist The domain name does not exist in the system Other TLD specific errors may occur, additional error messages will be supplied with information on the error.

Copyright 2010, Realtime Register B.V.

70

S-ar putea să vă placă și