internetee-registry/doc/epp-examples.md
2015-06-02 17:34:35 +03:00

12958 lines
340 KiB
Markdown

# EPP REQUEST - RESPONSE EXAMPLES
GENERATED AT: 2015-06-02 14:33:32 UTC
EXAMPLE COUNT: 163
---
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6230722077</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command fails if request xml is missing
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"/>
</create>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing: create &gt; create &gt; postalInfo &gt; name [name]</msg>
</result>
<result code="2003">
<msg lang="en">Required parameter missing: create &gt; create &gt; postalInfo &gt; addr &gt; street [street]</msg>
</result>
<result code="2003">
<msg lang="en">Required parameter missing: create &gt; create &gt; postalInfo &gt; addr &gt; city [city]</msg>
</result>
<result code="2003">
<msg lang="en">Required parameter missing: create &gt; create &gt; postalInfo &gt; addr &gt; pc [pc]</msg>
</result>
<result code="2003">
<msg lang="en">Required parameter missing: create &gt; create &gt; postalInfo &gt; addr &gt; cc [cc]</msg>
</result>
<result code="2003">
<msg lang="en">Required parameter missing: create &gt; create &gt; voice [voice]</msg>
</result>
<result code="2003">
<msg lang="en">Required parameter missing: create &gt; create &gt; email [email]</msg>
</result>
<result code="2003">
<msg lang="en">Required parameter missing: extension &gt; extdata &gt; ident [ident]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2436314288</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command successfully creates a contact
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:BFAAF15D</id>
<crDate>2015-06-02T14:33:33Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-4530178352</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command successfully saves ident type with legal document
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="birthday" cc="US">1990-22-12</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:635DE0CA</id>
<crDate>2015-06-02T14:33:33Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5498820681</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command successfully adds registrar
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:ECD18A3E</id>
<crDate>2015-06-02T14:33:33Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5765263080</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command returns result data upon success
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:FFDB1C8C</id>
<crDate>2015-06-02T14:33:33Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5853521848</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command should add registrar prefix for code when missing
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>abc12345</contact:id>
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:ABC12345</id>
<crDate>2015-06-02T14:33:33Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8418715972</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command should add registrar prefix for code when missing
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>abc:ABC:12345</contact:id>
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:ABC:ABC:12345</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6634701754</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command should not allow spaces in custom code
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>abc 123</contact:id>
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2005">
<msg lang="en">is invalid [code]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9426747388</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command should not saves ident type with wrong country code
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:ident type="birthday" cc="WRONG">1990-22-12</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2005">
<msg lang="en">Ident country code is not valid, should be in ISO_3166-1 alpha 2 format [ident]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9000074813</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command should add registrar prefix for code when legacy prefix present
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>CID:FIRST0:abc:ABC:NEW:12345</contact:id>
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:CID:FIRST0:ABC:ABC:NEW:12345</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2762778594</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command should not remove suffix CID
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>CID:FIRST0:abc:CID:ABC:NEW:12345</contact:id>
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:CID:FIRST0:ABC:CID:ABC:NEW:12345</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-4333012044</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command should not add registrar prefix for code when prefix present
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:abc22</contact:id>
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:ABC22</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7907073349</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command should add registrar prefix for code does not match exactly to prefix
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>cid2:first0:abc:ABC:11111</contact:id>
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:CID2:FIRST0:ABC:ABC:11111</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5362420340</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command should ignore custom code when only contact prefix given
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>CID:FIRST0</contact:id>
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:CID:FIRST0</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5984172001</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command should generate server id when id is empty
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:1AB4EF0A</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7374911098</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command should generate server id when id is empty
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:506E3755</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1091018985</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command should return parameter value policy error for org
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:org>should not save</contact:org>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Parameter value policy error. Org must be blank: postalInfo &gt; org [org]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0955782824</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user create command should return parameter value policy error for fax
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:postalInfo>
<contact:name>John Doe</contact:name>
<contact:addr>
<contact:street>123 Example</contact:street>
<contact:city>Tallinn</contact:city>
<contact:pc>123456</contact:pc>
<contact:cc>EE</contact:cc>
</contact:addr>
</contact:postalInfo>
<contact:voice>+372.1234567</contact:voice>
<contact:fax>should not save</contact:fax>
<contact:email>test@example.example</contact:email>
</contact:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Parameter value policy error. Fax must be blank: fax [fax]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9064313895</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command fails if request is invalid
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"/>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing: add, rem or chg</msg>
</result>
<result code="2003">
<msg lang="en">Required parameter missing: update &gt; update &gt; id [id]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0098456941</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command returns error if obj doesnt exist
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>not-exists</contact:id>
<contact:chg>
<contact:postalInfo>
<contact:name>John Doe Edited</contact:name>
</contact:postalInfo>
<contact:voice>+372.7654321</contact:voice>
<contact:email>edited@example.example</contact:email>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:chg>
</contact:update>
</update>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2303">
<msg lang="en">Object does not exist</msg>
<value>
<id>NOT-EXISTS</id>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0459133757</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command is succesful
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:chg>
<contact:postalInfo>
<contact:name>John Doe Edited</contact:name>
</contact:postalInfo>
<contact:voice>+372.7654321</contact:voice>
<contact:email>edited@example.example</contact:email>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:chg>
</contact:update>
</update>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:SH8013</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-4068674584</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command is succesful for own contact without password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:chg>
<contact:postalInfo>
<contact:name>John Doe Edited</contact:name>
</contact:postalInfo>
</contact:chg>
</contact:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:SH8013</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6371937684</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should update other contact with correct password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-4287413368</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:chg>
<contact:postalInfo>
<contact:name>John Doe Edited</contact:name>
</contact:postalInfo>
<contact:voice>+372.7654321</contact:voice>
<contact:email>edited@example.example</contact:email>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:chg>
</contact:update>
</update>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:SH8013</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3629290845</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3416539499</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should not update other contact without password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6084983175</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:chg>
<contact:postalInfo>
<contact:name>John Doe Edited</contact:name>
</contact:postalInfo>
</contact:chg>
</contact:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2201">
<msg lang="en">Authorization error</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8736173206</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5138470152</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command returns phone and email error
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:chg>
<contact:postalInfo>
<contact:name>John Doe Edited</contact:name>
</contact:postalInfo>
<contact:voice>123213</contact:voice>
<contact:email>wrong</contact:email>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:chg>
</contact:update>
</update>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2005">
<msg lang="en">Phone nr is invalid [phone]</msg>
</result>
<result code="2005">
<msg lang="en">Email is invalid [email]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3106468971</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should not update code with custom string
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:chg>
<contact:postalInfo>
<contact:name>John Doe Edited</contact:name>
</contact:postalInfo>
<contact:voice>+372.7654321</contact:voice>
<contact:email>edited@example.example</contact:email>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
<contact:id>notpossibletoupdate</contact:id>
</contact:chg>
</contact:update>
</update>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2303">
<msg lang="en">Object does not exist</msg>
<value>
<id>FIRST0:SH8013NOTPOSSIBLETOUPDATE</id>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9681225225</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should update ident
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:chg>
<contact:postalInfo>
<contact:name>John Doe Edited</contact:name>
</contact:postalInfo>
<contact:voice>+372.7654321</contact:voice>
<contact:email>edited@example.example</contact:email>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:chg>
</contact:update>
</update>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="birthday" cc="US">1990-22-12</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:SH8013</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5854801523</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should return parameter value policy errror for org update
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:chg>
<contact:postalInfo>
<contact:name>John Doe Edited</contact:name>
<contact:org>should not save</contact:org>
</contact:postalInfo>
<contact:voice>+372.7654321</contact:voice>
<contact:email>edited@example.example</contact:email>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:chg>
</contact:update>
</update>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Parameter value policy error. Org must be blank: postalInfo &gt; org [org]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5014808216</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should return parameter value policy errror for fax update
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:chg>
<contact:postalInfo>
<contact:name>John Doe Edited</contact:name>
</contact:postalInfo>
<contact:voice>+372.7654321</contact:voice>
<contact:fax>should not save</contact:fax>
<contact:email>edited@example.example</contact:email>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:chg>
</contact:update>
</update>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Parameter value policy error. Fax must be blank: fax [fax]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3138655440</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command does not allow to edit statuses if policy forbids it
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:add>
<contact:status s="clientHold" lang="en">Payment overdue.</contact:status>
<contact:status s="clientUpdateProhibited"/>
</contact:add>
</contact:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Parameter value policy error. Client-side object status management not supported: status [status]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1202026525</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should add value voice value
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:chg>
<contact:voice>+372.11111111</contact:voice>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:chg>
</contact:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:SH8013</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8482651143</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should return error when add attributes phone value is empty
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:chg>
<contact:voice/>
<contact:email>example@example.ee</contact:email>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:chg>
</contact:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing - phone [phone]</msg>
</result>
<result code="2005">
<msg lang="en">Phone nr is invalid [phone]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0476088143</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should honor chg value over add value when both changes same attribute
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:add>
<contact:voice>+372.11111111111</contact:voice>
</contact:add>
<contact:chg>
<contact:voice>+372.222222222222</contact:voice>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:chg>
</contact:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:SH8013</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2381236121</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should not allow to remove required voice attribute
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:chg>
<contact:voice/>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:chg>
</contact:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing - phone [phone]</msg>
</result>
<result code="2005">
<msg lang="en">Phone nr is invalid [phone]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9942427692</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should not allow to remove required attribute
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
<contact:rem>
<contact:voice>+372.7654321</contact:voice>
</contact:rem>
</contact:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing - phone [phone]</msg>
</result>
<result code="2005">
<msg lang="en">Phone nr is invalid [phone]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1923124091</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should honor add over rem
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
<contact:rem>
<contact:voice>not important</contact:voice>
</contact:rem>
<contact:add>
<contact:voice>+372.3333333</contact:voice>
</contact:add>
</contact:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:SH8013</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6937138477</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should honor chg over rem
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
<contact:rem>
<contact:voice>not important</contact:voice>
</contact:rem>
<contact:chg>
<contact:voice>+372.44444444</contact:voice>
</contact:chg>
</contact:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:SH8013</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8157062513</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should honor chg over rem and add
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
<contact:chg>
<contact:voice>+372.666666</contact:voice>
</contact:chg>
<contact:add>
<contact:voice>+372.555555</contact:voice>
</contact:add>
<contact:rem>
<contact:voice>not important</contact:voice>
</contact:rem>
</contact:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:SH8013</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7418830300</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should not remove password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
<contact:rem>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:rem>
</contact:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<id>FIRST0:SH8013</id>
<crDate>2015-06-02T14:33:34Z</crDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8725012100</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should return general policy error when removing org
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
<contact:rem>
<contact:postalInfo>
<contact:org>not important</contact:org>
</contact:postalInfo>
</contact:rem>
</contact:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Parameter value policy error. Org must be blank: postalInfo &gt; org [org]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9250241677</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user update command should return error when removing street
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH8013</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
<contact:rem>
<contact:postalInfo>
<contact:name>not important</contact:name>
</contact:postalInfo>
</contact:rem>
</contact:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing - name [name]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2809833413</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user delete command fails if request is invalid
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<delete>
<contact:delete xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"/>
</delete>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing: delete &gt; delete &gt; id [id]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5888335261</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user delete command returns error if obj doesnt exist
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<delete>
<contact:delete xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>not-exists</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:delete>
</delete>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2303">
<msg lang="en">Object does not exist</msg>
<value>
<id>NOT-EXISTS</id>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6947253989</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user delete command deletes contact
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<delete>
<contact:delete xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH775351913</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:delete>
</delete>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8502485863</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user delete command deletes own contact even with wrong password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<delete>
<contact:delete xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH122058824</contact:id>
<contact:authInfo>
<contact:pw>wrong password</contact:pw>
</contact:authInfo>
</contact:delete>
</delete>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7196323268</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user delete command deletes own contact even without password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<delete>
<contact:delete xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH648085365</contact:id>
</contact:delete>
</delete>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6213636307</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user delete command fails if contact has associated domain
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<delete>
<contact:delete xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH093153696</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:delete>
</delete>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2305">
<msg lang="en">Object association prohibits operation [domains]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1553298253</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user delete command should delete when not owner but with correct password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2543150383</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<delete>
<contact:delete xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH592496019</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:delete>
</delete>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8268301421</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7898144133</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user delete command should not delete when not owner without password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9845535101</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<delete>
<contact:delete xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH1717284010</contact:id>
</contact:delete>
</delete>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2201">
<msg lang="en">Authorization error</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9590483188</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2912535335</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user delete command should not delete when not owner with wrong password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9456762174</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<delete>
<contact:delete xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH7480704111</contact:id>
<contact:authInfo>
<contact:pw>wrong password</contact:pw>
</contact:authInfo>
</contact:delete>
</delete>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
<eis:ident type="priv" cc="EE">37605030299</eis:ident>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2201">
<msg lang="en">Authorization error</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3618211988</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2435051659</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user check command fails if request is invalid
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<check>
<contact:check xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"/>
</check>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing: check &gt; check &gt; id [id]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1012922903</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user check command returns info about contact availability
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<check>
<contact:check xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIXED:CHECK-1234</contact:id>
<contact:id>check-4321</contact:id>
</contact:check>
</check>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<chkData>
<cd>
<id avail="0">FIXED:CHECK-1234</id>
<reason>in use</reason>
</cd>
<cd>
<id avail="1">check-4321</id>
</cd>
</chkData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9154199000</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user check command should support legacy CID farmat
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<check>
<contact:check xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIXED:CHECK-LEGACY</contact:id>
<contact:id>CID:FIXED:CHECK-LEGACY</contact:id>
</contact:check>
</check>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<chkData>
<cd>
<id avail="0">FIXED:CHECK-LEGACY</id>
<reason>in use</reason>
</cd>
<cd>
<id avail="1">CID:FIXED:CHECK-LEGACY</id>
</cd>
</chkData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1186568828</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user info command fails if request invalid
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<contact:info xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"/>
</info>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing: info &gt; info &gt; id [id]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0978696432</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user info command returns error when object does not exist
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<contact:info xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>no-contact</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:info>
</info>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2303">
<msg lang="en">Object does not exist</msg>
<value>
<id>NO-CONTACT</id>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5470784563</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user info command return info about contact
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<contact:info xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIXED:INFO-4444</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:info>
</info>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<id>FIXED:INFO-4444</id>
<roid>EIS-29</roid>
<status s="ok"/>
<postalInfo type="int">
<name>Johnny Awesome</name>
<addr>
<street>Short street 11</street>
<city>Tallinn</city>
<sp/>
<pc>11111</pc>
<cc>EE</cc>
</addr>
</postalInfo>
<voice>+372.12345678</voice>
<email>aleandro@kub.info</email>
<clID>fixed registrar</clID>
<crID>TEST-CREATOR</crID>
<crDate>2015-06-02T14:33:37Z</crDate>
<authInfo>
<pw>password</pw>
</authInfo>
</infData>
</resData>
<extension>
<extdata>
<ident type="priv" cc="EE">37605030299</ident>
</extdata>
</extension>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9026818080</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user info command should add legacy CID format as append
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<contact:info xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIXED:CID:FIXED:INFO-5555</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:info>
</info>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<id>FIXED:CID:FIXED:INFO-5555</id>
<roid>EIS-30</roid>
<status s="ok"/>
<postalInfo type="int">
<name>Johnny Awesome</name>
<addr>
<street>Short street 11</street>
<city>Tallinn</city>
<sp/>
<pc>11111</pc>
<cc>EE</cc>
</addr>
</postalInfo>
<voice>+372.12345678</voice>
<email>aleandro@kub.info</email>
<clID>fixed registrar</clID>
<crID>TEST-CREATOR</crID>
<crDate>2015-06-02T14:33:37Z</crDate>
<authInfo>
<pw>password</pw>
</authInfo>
</infData>
</resData>
<extension>
<extdata>
<ident type="priv" cc="EE">37605030299</ident>
</extdata>
</extension>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6616273205</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user info command should return ident in extension
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<contact:info xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:INFO-IDENT</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:info>
</info>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<id>FIRST0:INFO-IDENT</id>
<roid>EIS-31</roid>
<status s="ok"/>
<postalInfo type="int">
<name>Johnny Awesome</name>
<addr>
<street>Short street 11</street>
<city>Tallinn</city>
<sp/>
<pc>11111</pc>
<cc>EE</cc>
</addr>
</postalInfo>
<voice>+372.12345678</voice>
<email>aleandro@kub.info</email>
<clID>registrar1</clID>
<crID>TEST-CREATOR</crID>
<crDate>2015-06-02T14:33:37Z</crDate>
<authInfo>
<pw>password</pw>
</authInfo>
</infData>
</resData>
<extension>
<extdata>
<ident type="priv" cc="EE">37605030299</ident>
</extdata>
</extension>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2074917129</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user info command returns no authorization error for wrong password when registrant
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<contact:info xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH946374880</contact:id>
<contact:authInfo>
<contact:pw>wrong-pw</contact:pw>
</contact:authInfo>
</contact:info>
</info>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<id>FIRST0:SH946374880</id>
<roid>EIS-1</roid>
<status s="ok"/>
<postalInfo type="int">
<name>Kurt Schimmel0</name>
<addr>
<street>Short street 11</street>
<city>Tallinn</city>
<sp/>
<pc>11111</pc>
<cc>EE</cc>
</addr>
</postalInfo>
<voice>+372.12345678</voice>
<email>aleandro@kub.info</email>
<clID>registrar1</clID>
<crID>TEST-CREATOR</crID>
<crDate>2015-06-02T14:33:33Z</crDate>
<authInfo>
<pw>password</pw>
</authInfo>
</infData>
</resData>
<extension>
<extdata>
<ident type="priv" cc="EE">37605030299</ident>
</extdata>
</extension>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2944934209</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user info command should honor new contact code format
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<contact:info xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIXED:TEST:CUSTOM:CODE</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:info>
</info>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<id>FIXED:TEST:CUSTOM:CODE</id>
<roid>EIS-32</roid>
<status s="ok"/>
<postalInfo type="int">
<name>Freeda Kertzmann15</name>
<addr>
<street>Short street 11</street>
<city>Tallinn</city>
<sp/>
<pc>11111</pc>
<cc>EE</cc>
</addr>
</postalInfo>
<voice>+372.12345678</voice>
<email>aleandro@kub.info</email>
<clID>fixed registrar</clID>
<crID>TEST-CREATOR</crID>
<crDate>2015-06-02T14:33:37Z</crDate>
<authInfo>
<pw>password</pw>
</authInfo>
</infData>
</resData>
<extension>
<extdata>
<ident type="priv" cc="EE">37605030299</ident>
</extdata>
</extension>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9319680654</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user info command returns no authorization error for wrong user but correct password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5256267515</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<contact:info xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH946374880</contact:id>
<contact:authInfo>
<contact:pw>password</contact:pw>
</contact:authInfo>
</contact:info>
</info>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<id>FIRST0:SH946374880</id>
<roid>EIS-1</roid>
<status s="ok"/>
<postalInfo type="int">
<name>Kurt Schimmel0</name>
<addr>
<street>Short street 11</street>
<city>Tallinn</city>
<sp/>
<pc>11111</pc>
<cc>EE</cc>
</addr>
</postalInfo>
<voice>+372.12345678</voice>
<email>aleandro@kub.info</email>
<clID>registrar1</clID>
<crID>TEST-CREATOR</crID>
<crDate>2015-06-02T14:33:33Z</crDate>
<authInfo>
<pw>password</pw>
</authInfo>
</infData>
</resData>
<extension>
<extdata>
<ident type="priv" cc="EE">37605030299</ident>
</extdata>
</extension>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9855190337</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7982342225</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user info command returns authorization error for wrong user and wrong password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7845786975</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<contact:info xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH946374880</contact:id>
<contact:authInfo>
<contact:pw>wrong-pw</contact:pw>
</contact:authInfo>
</contact:info>
</info>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2201">
<msg lang="en">Authorization error</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8286790305</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7742830004</svTRID>
</trID>
</response>
</epp>
```
### EPP Contact with valid user info command returns no authorization error for wrong user and no password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1203730643</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<contact:info xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
<contact:id>FIRST0:SH946374880</contact:id>
<contact:authInfo>
<contact:pw/>
</contact:authInfo>
</contact:info>
</info>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<id>FIRST0:SH946374880</id>
<roid>EIS-1</roid>
<status s="ok"/>
<postalInfo type="int">
<name>Kurt Schimmel0</name>
</postalInfo>
<clID>registrar1</clID>
<crID>TEST-CREATOR</crID>
<crDate>2015-06-02T14:33:33Z</crDate>
</infData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9164005912</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6014474598</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3586501704</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain returns error if contact does not exists
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example97979453077790513.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:CITIZEN_1234</domain:contact>
<domain:contact type="tech">sh1111</domain:contact>
<domain:contact type="tech">sh2222</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2303">
<msg lang="en">Contact was not found</msg>
<value>
<contact>sh1111</contact>
</value>
</result>
<result code="2303">
<msg lang="en">Contact was not found</msg>
<value>
<contact>sh2222</contact>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8936253286</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain validates required parameters
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>test.ee</domain:name>
</domain:create>
</create>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing: create &gt; create &gt; ns [ns]</msg>
</result>
<result code="2003">
<msg lang="en">Required parameter missing: create &gt; create &gt; registrant [registrant]</msg>
</result>
<result code="2003">
<msg lang="en">Required parameter missing: create &gt; create &gt; ns &gt; hostAttr [host_attr]</msg>
</result>
<result code="2003">
<msg lang="en">Required parameter missing: extension &gt; extdata &gt; legalDocument [legal_document]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3102704443</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant creates a domain
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example48653744161833001.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<name>example48653744161833001.ee</name>
<crDate>2015-06-02T14:33:38Z</crDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9286293243</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant creates a domain with legal document
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example66817551944190561.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<name>example66817551944190561.ee</name>
<crDate>2015-06-02T14:33:38Z</crDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6995988129</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant validates nameserver ipv4 when in same zone as domain
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example82402742861508907.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example82402742861508907.ee</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example82402742861508907.ee</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">IPv4 is missing [ipv4]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9037419208</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant does not create domain longer than 63 punicode characters
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>äääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2005">
<msg lang="en">Domain name is too long (maximum is 63 characters) [name_puny]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3085886901</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant does not create reserved domain
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>1162.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2302">
<msg lang="en">Domain name is reserved or restricted [name_dirty]</msg>
<value>
<name>1162.ee</name>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7084968793</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant does not create domain without contacts and registrant
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example13970338235947248.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing: create &gt; create &gt; registrant [registrant]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9708640722</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant does not create domain without nameservers
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example36404812133760036.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing: create &gt; create &gt; ns [ns]</msg>
</result>
<result code="2003">
<msg lang="en">Required parameter missing: create &gt; create &gt; ns &gt; hostAttr [host_attr]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6232255185</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant does not create domain with too many nameservers
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example64818663597612903.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns0.example.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns3.example.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns4.example.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns5.example.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns6.example.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns7.example.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns8.example.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns9.example.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns10.example.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns11.example.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns12.example.net</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns13.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2004">
<msg lang="en">Nameservers count must be between 2-11 [nameservers]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0166668620</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant returns error when invalid nameservers are present
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example466056723821534.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>invalid1-</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>-invalid2</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2005">
<msg lang="en">Hostname is invalid [hostname]</msg>
<value>
<hostAttr>invalid1-</hostAttr>
</value>
</result>
<result code="2005">
<msg lang="en">Hostname is invalid [hostname]</msg>
<value>
<hostAttr>-invalid2</hostAttr>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6405494345</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant checks hostAttr presence
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example99592330630112280.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostObj>ns1.example.ee</domain:hostObj>
<domain:hostObj>ns2.example.ee</domain:hostObj>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing: create &gt; create &gt; ns &gt; hostAttr [host_attr]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8841286613</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant creates domain with nameservers with ips
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example83128312703818883.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<name>example83128312703818883.ee</name>
<crDate>2015-06-02T14:33:39Z</crDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7686175512</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant returns error when nameserver has invalid ips
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example95662100754576979.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2.invalid</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
<domain:hostAddr ip="v6">invalid_ipv6</domain:hostAddr>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:create>
</create>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2005">
<msg lang="en">IPv4 is invalid [ipv4]</msg>
<value>
<hostAddr>192.0.2.2.invalid</hostAddr>
</value>
</result>
<result code="2005">
<msg lang="en">IPv6 is invalid [ipv6]</msg>
<value>
<hostAddr>INVALID_IPV6</hostAddr>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8065017773</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant creates a domain with period in days
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example31948540706621474.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<name>example31948540706621474.ee</name>
<crDate>2015-06-02T14:33:39Z</crDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6969997272</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant does not create a domain with invalid period
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example55223163817914543.ee</domain:name>
<domain:period unit="d">367</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2004">
<msg lang="en">Period must add up to 1, 2 or 3 years [period]</msg>
<value>
<period>367</period>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1469657787</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant creates a domain with multiple dnskeys
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example82050076629523994.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>3</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
<secDNS:keyData>
<secDNS:flags>0</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
<secDNS:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>254</secDNS:alg>
<secDNS:pubKey>841936717ae427ace63c28d04918569a841936717ae427ace63c28d0</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<name>example82050076629523994.ee</name>
<crDate>2015-06-02T14:33:39Z</crDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1291527721</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant does not create a domain when dnskeys are invalid
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example88380998944355738.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>250</secDNS:flags>
<secDNS:protocol>4</secDNS:protocol>
<secDNS:alg>9</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
<secDNS:keyData>
<secDNS:flags>1</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>10</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
<secDNS:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>5</secDNS:protocol>
<secDNS:alg>254</secDNS:alg>
<secDNS:pubKey/>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2005">
<msg lang="en">Valid algorithms are: 3, 5, 6, 7, 8, 252, 253, 254, 255 [alg]</msg>
<value>
<alg>9</alg>
</value>
</result>
<result code="2005">
<msg lang="en">Valid protocols are: 3 [protocol]</msg>
<value>
<protocol>4</protocol>
</value>
</result>
<result code="2005">
<msg lang="en">Valid flags are: 0, 256, 257 [flags]</msg>
<value>
<flags>250</flags>
</value>
</result>
<result code="2005">
<msg lang="en">Valid algorithms are: 3, 5, 6, 7, 8, 252, 253, 254, 255 [alg]</msg>
<value>
<alg>10</alg>
</value>
</result>
<result code="2005">
<msg lang="en">Valid flags are: 0, 256, 257 [flags]</msg>
<value>
<flags>1</flags>
</value>
</result>
<result code="2306">
<msg lang="en">Public key is missing [public_key]</msg>
</result>
<result code="2005">
<msg lang="en">Valid protocols are: 3 [protocol]</msg>
<value>
<protocol>5</protocol>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2996508750</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant does not create a domain with two identical dnskeys
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example78024773592821660.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>3</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
<secDNS:keyData>
<secDNS:flags>0</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2302">
<msg lang="en">Public key already exists [public_key]</msg>
<value>
<pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</pubKey>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3990884046</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant validated dnskeys count
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example62588279782335028.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>3</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
<secDNS:keyData>
<secDNS:flags>0</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2004">
<msg lang="en">DNS keys count must be between 0-1 [dnskeys]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9057177563</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant creates domain with ds data
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example23779866043469851.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:dsData>
<secDNS:keyTag>12345</secDNS:keyTag>
<secDNS:alg>3</secDNS:alg>
<secDNS:digestType>1</secDNS:digestType>
<secDNS:digest>49FD46E6C4B45C55D4AC</secDNS:digest>
</secDNS:dsData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<name>example23779866043469851.ee</name>
<crDate>2015-06-02T14:33:40Z</crDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1959065324</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant creates domain with ds data with key
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example90731484534199208.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:dsData>
<secDNS:keyTag>12345</secDNS:keyTag>
<secDNS:alg>3</secDNS:alg>
<secDNS:digestType>1</secDNS:digestType>
<secDNS:digest>49FD46E6C4B45C55D4AC</secDNS:digest>
<secDNS:keyData>
<secDNS:flags>0</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
</secDNS:dsData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<name>example90731484534199208.ee</name>
<crDate>2015-06-02T14:33:40Z</crDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3315923078</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant prohibits dsData
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example6010525958819346.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:dsData>
<secDNS:keyTag>12345</secDNS:keyTag>
<secDNS:alg>3</secDNS:alg>
<secDNS:digestType>1</secDNS:digestType>
<secDNS:digest>49FD46E6C4B45C55D4AC</secDNS:digest>
<secDNS:keyData>
<secDNS:flags>0</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
</secDNS:dsData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">dsData object is not allowed</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6597744146</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant prohibits keyData
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example14316008823537053.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>0</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">keyData object is not allowed</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0772908747</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with citizen as a registrant prohibits dsData and keyData when they exists together
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example9010839918822151.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
<domain:contact type="tech">FIXED:SH801333</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:dsData>
<secDNS:keyTag>12345</secDNS:keyTag>
<secDNS:alg>3</secDNS:alg>
<secDNS:digestType>1</secDNS:digestType>
<secDNS:digest>49FD46E6C4B45C55D4AC</secDNS:digest>
</secDNS:dsData>
<secDNS:keyData>
<secDNS:flags>0</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Mutually exclusive parameters: extension &gt; create &gt; keyData, extension &gt; create &gt; dsData</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1833299590</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with juridical persion as a registrant creates a domain with contacts
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example9990759274413940.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:JURIDICAL_1234</domain:registrant>
<domain:contact type="admin">FIXED:SH8013</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<creData>
<name>example9990759274413940.ee</name>
<crDate>2015-06-02T14:33:40Z</crDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</creData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6732223093</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with juridical persion as a registrant does not create a domain without admin contact
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example39274446147988090.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:JURIDICAL_1234</domain:registrant>
<domain:contact type="tech">FIXED:SH8013</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2004">
<msg lang="en">Admin contacts count must be between 1-10 [admin_domain_contacts]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6391772176</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with juridical persion as a registrant cannot assign juridical person as admin contact
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example16815979329457392.ee</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.net</domain:hostName>
<domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
<domain:hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.net</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:registrant>FIXED:JURIDICAL_1234</domain:registrant>
<domain:contact type="admin">FIXED:JURIDICAL_1234</domain:contact>
</domain:create>
</create>
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:keyData>
<secDNS:flags>257</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</secDNS:pubKey>
</secDNS:keyData>
</secDNS:create>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Admin contact can be private person only</msg>
<value>
<contact>FIXED:JURIDICAL_1234</contact>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3306715686</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain transfers a domain
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-4123563386</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain1.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">7e7586cd94b553f5a07d6d8aa45d644f</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain1.ee</name>
<trStatus>serverApproved</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:41Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T14:33:41Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8723385830</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5383535423</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="req"/>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1301">
<msg>Command completed successfully; ack to dequeue</msg>
</result>
<msgQ count="1" id="1">
<qDate>2015-06-02T14:33:41Z</qDate>
<msg>Domain transfer was approved, associated contacts are: ["REGDOMAIN2:758A573F", "REGDOMAIN2:ED05964C"]</msg>
</msgQ>
<resData>
<trnData>
<name>domain1.ee</name>
<trStatus>serverApproved</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:41Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T14:33:41Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2621052839</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain1.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">e6e69f7fe16e4e106d6731a4015377b0</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain1.ee</name>
<trStatus>pending</trStatus>
<reID>REGDOMAIN1</reID>
<reDate>2015-06-02T14:33:41Z</reDate>
<acID>REGDOMAIN2</acID>
<acDate>2015-06-02T15:33:41Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0830742222</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain1.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">e6e69f7fe16e4e106d6731a4015377b0</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain1.ee</name>
<trStatus>pending</trStatus>
<reID>REGDOMAIN1</reID>
<reDate>2015-06-02T14:33:41Z</reDate>
<acID>REGDOMAIN2</acID>
<acDate>2015-06-02T15:33:41Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9024073555</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9937559312</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="req"/>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1301">
<msg>Command completed successfully; ack to dequeue</msg>
</result>
<msgQ count="1" id="2">
<qDate>2015-06-02T14:33:41Z</qDate>
<msg>Transfer requested.</msg>
</msgQ>
<resData>
<trnData>
<name>domain1.ee</name>
<trStatus>pending</trStatus>
<reID>REGDOMAIN1</reID>
<reDate>2015-06-02T14:33:41Z</reDate>
<acID>REGDOMAIN2</acID>
<acDate>2015-06-02T15:33:41Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7780959753</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2246481184</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1396088307</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="ack" msgID="2"/>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<msgQ count="0" id="2"/>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6864941546</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9877149049</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain creates a domain transfer with legal document
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8299015369</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain2.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">4b6cfd8eac3aa625abcd2701cdab992e</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain2.ee</name>
<trStatus>pending</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:42Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T15:33:42Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7619243484</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1996107650</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0249347226</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain2.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">4b6cfd8eac3aa625abcd2701cdab992e</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain2.ee</name>
<trStatus>pending</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:42Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T15:33:42Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-4125354250</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2686066388</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain creates transfer successfully without legal document
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3853305583</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain3.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">fbc72d17f1d36f777dae6b2b13596d78</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain3.ee</name>
<trStatus>serverApproved</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:42Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T14:33:42Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3487001485</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6417869434</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain transfers domain with contacts
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1335168095</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain4.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">0221135c2fb643b574986c2af1a8cb9f</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain4.ee</name>
<trStatus>serverApproved</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:43Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T14:33:43Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1484348708</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-4456747164</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain transfers domain when registrant has more domains
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6378968609</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain5.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">8762d1f1c64594a5b80e5b1a68b5dc58</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain5.ee</name>
<trStatus>serverApproved</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:43Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T14:33:43Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-4043670156</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8973567200</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain transfers domain when registrant is admin or tech contact on some other domain
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9166329529</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain8.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">723383e28c2a831f8cd05d47a6fdae6a</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain8.ee</name>
<trStatus>serverApproved</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:44Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T14:33:44Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9917679448</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5483450921</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain transfers domain when domain contacts are some other domain contacts
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0451723771</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain9.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">c1f7bdb825982a7d1da9170ef3721274</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain9.ee</name>
<trStatus>serverApproved</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:44Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T14:33:44Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9585905070</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3585610255</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain transfers domain when multiple domain contacts are some other domain contacts
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2766683979</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain11.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">f6a02211d0c8ff3abdf3aa1e7b37f174</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain11.ee</name>
<trStatus>serverApproved</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:45Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T14:33:45Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0499694005</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2413360344</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain transfers domain and references exsisting registrant to domain contacts
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6430571545</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain14.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">c1c20e74faf394a064622007e2c4e817</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain14.ee</name>
<trStatus>serverApproved</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:45Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T14:33:45Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1645698502</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8777538869</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain does not transfer contacts if they are already under new registrar
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5887352110</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain15.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">8b2b1a7aad43d979486245b9d0ff473b</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain15.ee</name>
<trStatus>serverApproved</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:46Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T14:33:46Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9002038233</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-4427386119</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain should not creates transfer without password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-4954325500</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain16.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">98oiewslkfkd</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2201">
<msg lang="en">Authorization error</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0070482481</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0244475517</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain approves the transfer request
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="approve">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain17.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">15af0f0a594f1941ebdee1c246662730</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain17.ee</name>
<trStatus>clientApproved</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:46Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T14:33:46Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0409704363</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain rejects a domain transfer
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9977243825</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="reject">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain18.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">1acbd83c6c9bf4d5b3b5996f84ecc95e</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2304">
<msg lang="en">Transfer can be rejected only by current registrar</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2167790493</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7318846508</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="reject">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain18.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">1acbd83c6c9bf4d5b3b5996f84ecc95e</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain18.ee</name>
<trStatus>clientRejected</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:47Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T14:33:47Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5500355407</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain prohibits wrong registrar from approving transfer
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6363376009</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="approve">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain19.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">a870b5d70e38d38576944360c17d9cec</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2304">
<msg lang="en">Transfer can be approved only by current domain registrar</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8901648621</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1238161989</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain does not transfer with invalid pw
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain20.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">test</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2201">
<msg lang="en">Authorization error</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7376446516</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain ignores transfer wha registrant registrar requests transfer
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain21.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">0d3a2916ece6b0c50896ab5d15367590</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2002">
<msg lang="en">Domain already belongs to the querying registrar</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3149883241</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain returns an error for incorrect op attribute
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="bla">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example20038696444836827.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">98oiewslkfkd</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Attribute is invalid: op</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7463389906</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain creates new pw after successful transfer
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5292990151</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain22.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">214caf4bb5bc9d803458b69400c8072e</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<trnData>
<name>domain22.ee</name>
<trStatus>serverApproved</trStatus>
<reID>REGDOMAIN2</reID>
<reDate>2015-06-02T14:33:47Z</reDate>
<acID>REGDOMAIN1</acID>
<acDate>2015-06-02T14:33:47Z</acDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</trnData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3677521670</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="query">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain22.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">214caf4bb5bc9d803458b69400c8072e</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2201">
<msg lang="en">Authorization error</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-4802342583</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3924775811</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain should get an error when there is no pending transfer
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="approve">
<domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain23.ee</domain:name>
<domain:authInfo>
<domain:pw roid="citizen_1234-REP">cc0c225abd7c98fe19ae72398601bb8a</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2303">
<msg lang="en">Pending transfer was not found</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-4544248429</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain should update right away without update pending status
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain24.ee</domain:name>
<domain:chg>
<domain:registrant verified="yes">FIXED:CITIZEN_1234</domain:registrant>
</domain:chg>
</domain:update>
</update>
<extension>
<secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"/>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6875798999</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain updates a domain
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain25.ee</domain:name>
<domain:chg>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
</domain:chg>
</domain:update>
</update>
<extension>
<secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"/>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1001">
<msg>Command completed successfully; action pending</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3305778113</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain should not return action pending when changes are invalid
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain26.ee</domain:name>
<domain:rem>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns.bartell80.ee</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns.jones79.ee</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns.powlowski78.ee</domain:hostName>
</domain:hostAttr>
</domain:ns>
</domain:rem>
<domain:chg>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
</domain:chg>
</domain:update>
</update>
<extension>
<secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"/>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2004">
<msg lang="en">Nameservers count must be between 2-11 [nameservers]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0383550395</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain should not return action pending when domain itself is already invaid
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain27.ee</domain:name>
<domain:chg>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
</domain:chg>
</domain:update>
</update>
<extension>
<secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"/>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2004">
<msg lang="en">Nameservers count must be between 2-11 [nameservers]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6286875915</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain should not allow any update when status pending update
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain28.ee</domain:name>
<domain:chg>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
</domain:chg>
</domain:update>
</update>
<extension>
<secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"/>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2304">
<msg lang="en">Object status prohibits operation</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8121147429</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain updates domain and adds objects
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain29.ee</domain:name>
<domain:add>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.com</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.com</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:contact type="tech">FIXED:MAK21</domain:contact>
<domain:status s="clientHold" lang="en">Payment overdue.</domain:status>
<domain:status s="clientUpdateProhibited"/>
</domain:add>
</domain:update>
</update>
<extension>
<secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:add>
<secDNS:keyData>
<secDNS:flags>0</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
<secDNS:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>254</secDNS:alg>
<secDNS:pubKey>841936717ae427ace63c28d04918569a841936717ae427ace63c28d0</secDNS:pubKey>
</secDNS:keyData>
</secDNS:add>
</secDNS:update>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2303">
<msg lang="en">Contact was not found</msg>
<value>
<contact>FIXED:MAK21</contact>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8658915093</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain29.ee</domain:name>
<domain:add>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.com</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.com</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:contact type="tech">FIXED:MAK21</domain:contact>
<domain:status s="clientHold" lang="en">Payment overdue.</domain:status>
<domain:status s="clientUpdateProhibited"/>
</domain:add>
</domain:update>
</update>
<extension>
<secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:add>
<secDNS:keyData>
<secDNS:flags>0</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
<secDNS:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>254</secDNS:alg>
<secDNS:pubKey>841936717ae427ace63c28d04918569a841936717ae427ace63c28d0</secDNS:pubKey>
</secDNS:keyData>
</secDNS:add>
</secDNS:update>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8578037457</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain29.ee</domain:name>
<domain:add>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.com</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.com</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:contact type="tech">FIXED:MAK21</domain:contact>
<domain:status s="clientHold" lang="en">Payment overdue.</domain:status>
<domain:status s="clientUpdateProhibited"/>
</domain:add>
</domain:update>
</update>
<extension>
<secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:add>
<secDNS:keyData>
<secDNS:flags>0</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
<secDNS:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>254</secDNS:alg>
<secDNS:pubKey>841936717ae427ace63c28d04918569a841936717ae427ace63c28d0</secDNS:pubKey>
</secDNS:keyData>
</secDNS:add>
</secDNS:update>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2302">
<msg lang="en">Nameserver already exists on this domain [hostname]</msg>
<value>
<hostAttr>ns2.example.com</hostAttr>
</value>
</result>
<result code="2302">
<msg lang="en">Nameserver already exists on this domain [hostname]</msg>
<value>
<hostAttr>ns1.example.com</hostAttr>
</value>
</result>
<result code="2302">
<msg lang="en">Contact already exists on this domain [contact_code_cache]</msg>
<value>
<contact>FIXED:MAK21</contact>
</value>
</result>
<result code="2302">
<msg lang="en">Status already exists on this domain [value]</msg>
<value>
<status>clientUpdateProhibited</status>
</value>
</result>
<result code="2302">
<msg lang="en">Status already exists on this domain [value]</msg>
<value>
<status>clientHold</status>
</value>
</result>
<result code="2302">
<msg lang="en">Public key already exists [public_key]</msg>
<value>
<pubKey>841936717ae427ace63c28d04918569a841936717ae427ace63c28d0</pubKey>
</value>
</result>
<result code="2302">
<msg lang="en">Public key already exists [public_key]</msg>
<value>
<pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</pubKey>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7566265707</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain updates domain with registrant change what triggers action pending
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain30.ee</domain:name>
<domain:add>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.com</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.com</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:contact type="tech">FIXED:PENDINGMAK21</domain:contact>
<domain:status s="clientHold" lang="en">Payment overdue.</domain:status>
<domain:status s="clientUpdateProhibited"/>
</domain:add>
<domain:chg>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
</domain:chg>
</domain:update>
</update>
<extension>
<secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:add>
<secDNS:keyData>
<secDNS:flags>0</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
<secDNS:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>254</secDNS:alg>
<secDNS:pubKey>841936717ae427ace63c28d04918569a841936717ae427ace63c28d0</secDNS:pubKey>
</secDNS:keyData>
</secDNS:add>
</secDNS:update>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2303">
<msg lang="en">Contact was not found</msg>
<value>
<contact>FIXED:PENDINGMAK21</contact>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5950602333</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain30.ee</domain:name>
<domain:add>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.com</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.com</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:contact type="tech">FIXED:PENDINGMAK21</domain:contact>
<domain:status s="clientHold" lang="en">Payment overdue.</domain:status>
<domain:status s="clientUpdateProhibited"/>
</domain:add>
<domain:chg>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
</domain:chg>
</domain:update>
</update>
<extension>
<secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:add>
<secDNS:keyData>
<secDNS:flags>0</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
<secDNS:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>254</secDNS:alg>
<secDNS:pubKey>841936717ae427ace63c28d04918569a841936717ae427ace63c28d0</secDNS:pubKey>
</secDNS:keyData>
</secDNS:add>
</secDNS:update>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1001">
<msg>Command completed successfully; action pending</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7328085880</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain does not allow to edit statuses if policy forbids it
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain31.ee</domain:name>
<domain:add>
<domain:status s="clientHold" lang="en">Payment overdue.</domain:status>
<domain:status s="clientUpdateProhibited"/>
</domain:add>
</domain:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Parameter value policy error. Client-side object status management not supported: status [status]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7227191488</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain updates a domain and removes objects
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain32.ee</domain:name>
<domain:add>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.com</domain:hostName>
</domain:hostAttr>
<domain:hostAttr>
<domain:hostName>ns2.example.com</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:contact type="tech">FIXED:CITIZEN_1234</domain:contact>
<domain:status s="clientHold" lang="en">Payment overdue.</domain:status>
<domain:status s="clientUpdateProhibited"/>
</domain:add>
</domain:update>
</update>
<extension>
<secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:add>
<secDNS:keyData>
<secDNS:flags>0</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>5</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
<secDNS:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>254</secDNS:alg>
<secDNS:pubKey>841936717ae427ace63c28d04918569a841936717ae427ace63c28d0</secDNS:pubKey>
</secDNS:keyData>
</secDNS:add>
</secDNS:update>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8437379909</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain32.ee</domain:name>
<domain:rem>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.com</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:contact type="tech">FIXED:CITIZEN_1234</domain:contact>
<domain:status s="clientHold"/>
</domain:rem>
</domain:update>
</update>
<extension>
<secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:rem>
<secDNS:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>254</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
</secDNS:rem>
</secDNS:update>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9283346447</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain32.ee</domain:name>
<domain:rem>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns1.example.com</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:contact type="tech">FIXED:CITIZEN_1234</domain:contact>
<domain:status s="clientHold"/>
</domain:rem>
</domain:update>
</update>
<extension>
<secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
<secDNS:rem>
<secDNS:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>254</secDNS:alg>
<secDNS:pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</secDNS:pubKey>
</secDNS:keyData>
</secDNS:rem>
</secDNS:update>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2303">
<msg lang="en">Nameserver was not found</msg>
<value>
<hostAttr>ns1.example.com</hostAttr>
</value>
</result>
<result code="2303">
<msg lang="en">Contact was not found</msg>
<value>
<contact>FIXED:CITIZEN_1234</contact>
</value>
</result>
<result code="2303">
<msg lang="en">Status was not found</msg>
<value>
<status>clientHold</status>
</value>
</result>
<result code="2303">
<msg lang="en">DS was not found</msg>
<value>
<publicKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</publicKey>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1720108341</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain does not remove server statuses
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain33.ee</domain:name>
<domain:rem>
<domain:status s="serverHold"/>
</domain:rem>
</domain:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2303">
<msg lang="en">Status was not found</msg>
<value>
<status>serverHold</status>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9356081676</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain does not add duplicate objects to domain
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain34.ee</domain:name>
<domain:add>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns.will99.ee</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:contact type="admin">FIXED:SH1116533879</domain:contact>
</domain:add>
</domain:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5974789134</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain34.ee</domain:name>
<domain:add>
<domain:ns>
<domain:hostAttr>
<domain:hostName>ns.will99.ee</domain:hostName>
</domain:hostAttr>
</domain:ns>
<domain:contact type="admin">FIXED:SH1116533879</domain:contact>
</domain:add>
</domain:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2302">
<msg lang="en">Nameserver already exists on this domain [hostname]</msg>
<value>
<hostAttr>ns.will99.ee</hostAttr>
</value>
</result>
<result code="2302">
<msg lang="en">Contact already exists on this domain [contact_code_cache]</msg>
<value>
<contact>FIXED:SH1116533879</contact>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8215045348</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain cannot change registrant without legal document
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain35.ee</domain:name>
<domain:chg>
<domain:registrant>FIXED:CITIZEN_1234</domain:registrant>
</domain:chg>
</domain:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing: extension &gt; extdata &gt; legalDocument [legal_document]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7276382072</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain does not assign invalid status to domain
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain36.ee</domain:name>
<domain:add>
<domain:status s="invalidStatus"/>
</domain:add>
</domain:update>
</update>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2303">
<msg lang="en">Status was not found</msg>
<value>
<status>invalidStatus</status>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5601896519</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain renews a domain
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<renew>
<domain:renew xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain37.ee</domain:name>
<domain:curExpDate>2016-06-02</domain:curExpDate>
<domain:period unit="y">1</domain:period>
</domain:renew>
</renew>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<renData>
<name>domain37.ee</name>
<exDate>2017-06-02T00:00:00Z</exDate>
</renData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3668937945</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain returns an error when given and current exp dates do not match
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<renew>
<domain:renew xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain38.ee</domain:name>
<domain:curExpDate>2200-08-07</domain:curExpDate>
<domain:period unit="y">1</domain:period>
</domain:renew>
</renew>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Given and current expire dates do not match</msg>
<value>
<curExpDate>2200-08-07</curExpDate>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8246202320</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain returns an error when period is invalid
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<renew>
<domain:renew xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain39.ee</domain:name>
<domain:curExpDate>2016-06-02</domain:curExpDate>
<domain:period unit="y">4</domain:period>
</domain:renew>
</renew>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2004">
<msg lang="en">Period must add up to 1, 2 or 3 years [period]</msg>
<value>
<period>4</period>
</value>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5737709562</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain returns domain info
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">domain40.ee</domain:name>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:info>
</info>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<name>domain40.ee</name>
<roid>EIS-48</roid>
<status s="clientHold">Payment overdue.</status>
<registrant>FIXED:REGISTRANT8974289838</registrant>
<contact type="tech">FIXED:SH4849477194</contact>
<contact type="admin">FIXED:SH9764958293</contact>
<ns>
<hostAttr>
<hostName>ns.littlewalter120.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns.upton121.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns.stroman122.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns1.example.com</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
<hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</hostAddr>
</hostAttr>
</ns>
<clID>registrar1</clID>
<crDate>2015-06-02T14:33:51Z</crDate>
<upDate>2015-06-02T14:33:51Z</upDate>
<exDate>2016-06-02T00:00:00Z</exDate>
<authInfo>
<pw>a55da6ecdfddd94d11ec0905cb8655de</pw>
</authInfo>
</infData>
</resData>
<extension>
<infData>
<dsData>
<keyTag>123</keyTag>
<alg>3</alg>
<digestType>1</digestType>
<digest>0D85A305D22FCB355BBE29AE9809363D697B64782B9CC73AE349350F8C2AE4BB</digest>
<keyData>
<flags>257</flags>
<protocol>3</protocol>
<alg>3</alg>
<pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</pubKey>
</keyData>
</dsData>
<dsData>
<keyTag>123</keyTag>
<alg>3</alg>
<digestType>1</digestType>
<digest>0D85A305D22FCB355BBE29AE9809363D697B64782B9CC73AE349350F8C2AE4BB</digest>
<keyData>
<flags>0</flags>
<protocol>3</protocol>
<alg>5</alg>
<pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</pubKey>
</keyData>
</dsData>
</infData>
</extension>
<trID>
<svTRID>ccReg-0885097219</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">domain40.ee</domain:name>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:info>
</info>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<name>domain40.ee</name>
<roid>EIS-48</roid>
<status s="clientHold">Payment overdue.</status>
<registrant>FIXED:REGISTRANT8974289838</registrant>
<contact type="tech">FIXED:SH4849477194</contact>
<contact type="admin">FIXED:SH9764958293</contact>
<ns>
<hostAttr>
<hostName>ns.littlewalter120.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns.upton121.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns.stroman122.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns1.example.com</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
<hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</hostAddr>
</hostAttr>
</ns>
<clID>registrar1</clID>
<crDate>2015-06-02T14:33:51Z</crDate>
<upDate>2015-06-02T14:33:51Z</upDate>
<exDate>2016-06-02T00:00:00Z</exDate>
<authInfo>
<pw>a55da6ecdfddd94d11ec0905cb8655de</pw>
</authInfo>
</infData>
</resData>
<extension>
<infData>
<dsData>
<keyTag>123</keyTag>
<alg>3</alg>
<digestType>1</digestType>
<digest>0D85A305D22FCB355BBE29AE9809363D697B64782B9CC73AE349350F8C2AE4BB</digest>
<keyData>
<flags>257</flags>
<protocol>3</protocol>
<alg>3</alg>
<pubKey>AwEAAddt2AkLfYGKgiEZB5SmIF8EvrjxNMH6HtxWEA4RJ9Ao6LCWheg8</pubKey>
</keyData>
</dsData>
<dsData>
<keyTag>123</keyTag>
<alg>3</alg>
<digestType>1</digestType>
<digest>0D85A305D22FCB355BBE29AE9809363D697B64782B9CC73AE349350F8C2AE4BB</digest>
<keyData>
<flags>0</flags>
<protocol>3</protocol>
<alg>5</alg>
<pubKey>700b97b591ed27ec2590d19f06f88bba700b97b591ed27ec2590d19f</pubKey>
</keyData>
</dsData>
</infData>
</extension>
<trID>
<svTRID>ccReg-0658088724</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain returns domain info with different nameservers
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="invalid">domain41.ee</domain:name>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:info>
</info>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Attribute is invalid: hosts</msg>
</result>
<trID>
<svTRID>ccReg-3142249796</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="sub">domain41.ee</domain:name>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:info>
</info>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<name>domain41.ee</name>
<roid>EIS-49</roid>
<status s="ok"/>
<registrant>FIXED:REGISTRANT9162686239</registrant>
<contact type="tech">FIXED:SH7788334096</contact>
<contact type="admin">FIXED:SH1740525895</contact>
<ns>
<hostAttr>
<hostName>ns1.domain41.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
<hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns2.domain41.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
<hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</hostAddr>
</hostAttr>
</ns>
<clID>registrar1</clID>
<crDate>2015-06-02T14:33:52Z</crDate>
<upDate>2015-06-02T14:33:52Z</upDate>
<exDate>2016-06-02T00:00:00Z</exDate>
<authInfo>
<pw>5f736179dc1b98c7297181630045512a</pw>
</authInfo>
</infData>
</resData>
<trID>
<svTRID>ccReg-3283683958</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="del">domain41.ee</domain:name>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:info>
</info>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<name>domain41.ee</name>
<roid>EIS-49</roid>
<status s="ok"/>
<registrant>FIXED:REGISTRANT9162686239</registrant>
<contact type="tech">FIXED:SH7788334096</contact>
<contact type="admin">FIXED:SH1740525895</contact>
<ns>
<hostAttr>
<hostName>ns3.test.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
<hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</hostAddr>
</hostAttr>
</ns>
<clID>registrar1</clID>
<crDate>2015-06-02T14:33:52Z</crDate>
<upDate>2015-06-02T14:33:52Z</upDate>
<exDate>2016-06-02T00:00:00Z</exDate>
<authInfo>
<pw>5f736179dc1b98c7297181630045512a</pw>
</authInfo>
</infData>
</resData>
<trID>
<svTRID>ccReg-2854509297</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="none">domain41.ee</domain:name>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:info>
</info>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<name>domain41.ee</name>
<roid>EIS-49</roid>
<status s="ok"/>
<registrant>FIXED:REGISTRANT9162686239</registrant>
<contact type="tech">FIXED:SH7788334096</contact>
<contact type="admin">FIXED:SH1740525895</contact>
<clID>registrar1</clID>
<crDate>2015-06-02T14:33:52Z</crDate>
<upDate>2015-06-02T14:33:52Z</upDate>
<exDate>2016-06-02T00:00:00Z</exDate>
<authInfo>
<pw>5f736179dc1b98c7297181630045512a</pw>
</authInfo>
</infData>
</resData>
<trID>
<svTRID>ccReg-8226722399</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">domain41.ee</domain:name>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:info>
</info>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<name>domain41.ee</name>
<roid>EIS-49</roid>
<status s="ok"/>
<registrant>FIXED:REGISTRANT9162686239</registrant>
<contact type="tech">FIXED:SH7788334096</contact>
<contact type="admin">FIXED:SH1740525895</contact>
<ns>
<hostAttr>
<hostName>ns1.domain41.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
<hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns2.domain41.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
<hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns3.test.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
<hostAddr ip="v6">1080:0:0:0:8:800:200C:417A</hostAddr>
</hostAttr>
</ns>
<clID>registrar1</clID>
<crDate>2015-06-02T14:33:52Z</crDate>
<upDate>2015-06-02T14:33:52Z</upDate>
<exDate>2016-06-02T00:00:00Z</exDate>
<authInfo>
<pw>5f736179dc1b98c7297181630045512a</pw>
</authInfo>
</infData>
</resData>
<trID>
<svTRID>ccReg-6981084869</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain returns error when domain can not be found
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">test.ee</domain:name>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:info>
</info>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2303">
<msg lang="en">Domain not found</msg>
<value>
<name>test.ee</name>
</value>
</result>
<trID>
<svTRID>ccReg-1359177895</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain sets ok status by default
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">domain42.ee</domain:name>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:info>
</info>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<name>domain42.ee</name>
<roid>EIS-50</roid>
<status s="ok"/>
<registrant>FIXED:REGISTRANT6447311340</registrant>
<contact type="tech">FIXED:SH0696214598</contact>
<contact type="admin">FIXED:SH3579214897</contact>
<ns>
<hostAttr>
<hostName>ns.torphyswaniawski126.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns.runolfsson127.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns.pfannerstill128.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
</ns>
<clID>registrar1</clID>
<crDate>2015-06-02T14:33:52Z</crDate>
<upDate>2015-06-02T14:33:52Z</upDate>
<exDate>2016-06-02T00:00:00Z</exDate>
<authInfo>
<pw>24475eb76f7afbcbce6d58904499033c</pw>
</authInfo>
</infData>
</resData>
<trID>
<svTRID>ccReg-6787531410</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain can not see other registrar domains with invalid password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5789785835</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">domain43.ee</domain:name>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:info>
</info>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2201">
<msg lang="en">Authorization error</msg>
</result>
<trID>
<svTRID>ccReg-8890052432</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6132497444</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain can see other registrar domains without password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6672790066</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">domain44.ee</domain:name>
</domain:info>
</info>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<name>domain44.ee</name>
<roid>EIS-52</roid>
<status s="ok"/>
<registrant>FIXED:REGISTRANT0437071142</registrant>
<contact type="tech">FIXED:SH96779090102</contact>
<contact type="admin">FIXED:SH52024319101</contact>
<ns>
<hostAttr>
<hostName>ns.hettingerankunding132.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns.jenkinshilll133.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns.moore134.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
</ns>
<clID>registrar1</clID>
<crDate>2015-06-02T14:33:52Z</crDate>
<upDate>2015-06-02T14:33:52Z</upDate>
<exDate>2016-06-02T00:00:00Z</exDate>
</infData>
</resData>
<trID>
<svTRID>ccReg-5470335926</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7477648038</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain can see other registrar domains with correct password
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0189080988</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">domain45.ee</domain:name>
<domain:authInfo>
<domain:pw>3e1fb38b022d134ee01fb5a7fd0d22bd</domain:pw>
</domain:authInfo>
</domain:info>
</info>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<infData>
<name>domain45.ee</name>
<roid>EIS-53</roid>
<status s="ok"/>
<registrant>FIXED:REGISTRANT0039423743</registrant>
<contact type="tech">FIXED:SH26361564104</contact>
<contact type="admin">FIXED:SH08557300103</contact>
<ns>
<hostAttr>
<hostName>ns.will135.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns.oreilly136.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
<hostAttr>
<hostName>ns.kozey137.ee</hostName>
<hostAddr ip="v4">192.168.1.1</hostAddr>
</hostAttr>
</ns>
<clID>registrar1</clID>
<crDate>2015-06-02T14:33:53Z</crDate>
<upDate>2015-06-02T14:33:53Z</upDate>
<exDate>2016-06-02T00:00:00Z</exDate>
<authInfo>
<pw>3e1fb38b022d134ee01fb5a7fd0d22bd</pw>
</authInfo>
</infData>
</resData>
<trID>
<svTRID>ccReg-5317920253</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8397152597</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain deletes domain
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<delete>
<domain:delete xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain46.ee</domain:name>
</domain:delete>
</delete>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1001">
<msg>Command completed successfully; action pending</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7041717131</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain does not delete domain with specific status
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<delete>
<domain:delete xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain47.ee</domain:name>
</domain:delete>
</delete>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2304">
<msg lang="en">Domain status prohibits operation</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-4433625658</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain does not delete domain with pending delete
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<delete>
<domain:delete xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain48.ee</domain:name>
</domain:delete>
</delete>
<extension>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
</eis:extdata>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2304">
<msg lang="en">Object status prohibits operation</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0993946563</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain does not delete domain without legal document
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<delete>
<domain:delete xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example.ee</domain:name>
</domain:delete>
</delete>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing: extension &gt; extdata &gt; legalDocument [legal_document]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0059261865</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain checks a domain
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<check>
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>one.ee</domain:name>
</domain:check>
</check>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<chkData>
<cd>
<name avail="1">one.ee</name>
</cd>
</chkData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0464564986</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<check>
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>domain49.ee</domain:name>
</domain:check>
</check>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<chkData>
<cd>
<name avail="0">domain49.ee</name>
<reason>in use</reason>
</cd>
</chkData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9143909071</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain checks multiple domains
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<check>
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>one.ee</domain:name>
<domain:name>two.ee</domain:name>
<domain:name>three.ee</domain:name>
</domain:check>
</check>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<chkData>
<cd>
<name avail="1">one.ee</name>
</cd>
<cd>
<name avail="1">two.ee</name>
</cd>
<cd>
<name avail="1">three.ee</name>
</cd>
</chkData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7975888398</svTRID>
</trID>
</response>
</epp>
```
### EPP Domain with valid domain checks invalid format domain
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<check>
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>one.ee</domain:name>
<domain:name>notcorrectdomain</domain:name>
</domain:check>
</check>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<chkData>
<cd>
<name avail="1">one.ee</name>
</cd>
<cd>
<name avail="0">notcorrectdomain</name>
<reason>invalid format</reason>
</cd>
</chkData>
</resData>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2094076134</svTRID>
</trID>
</response>
</epp>
```
### EPP Helper in context of Domain generates valid transfer xml
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-8002054128</svTRID>
</trID>
</response>
</epp>
```
### EPP Keyrelay makes a keyrelay request
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
<command>
<ext:keyrelay>
<ext:name>domain50.ee</ext:name>
<ext:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>8</secDNS:alg>
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
</ext:keyData>
<ext:authInfo>
<domain:pw>d74cd8d1c9da83127bcbfdbefc781dd1</domain:pw>
</ext:authInfo>
<ext:expiry>
<ext:relative>P1M13D</ext:relative>
</ext:expiry>
</ext:keyrelay>
<ext:clTRID>1433255634</ext:clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2307">
<msg lang="en">Unimplemented object service</msg>
<value>
<name>domain50.ee</name>
</value>
</result>
<trID>
<clTRID>1433255634</clTRID>
<svTRID>ccReg-7577662278</svTRID>
</trID>
</response>
</epp>
```
### EPP Keyrelay returns an error when parameters are missing
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
<command>
<ext:keyrelay>
<ext:name>domain50.ee</ext:name>
<ext:keyData>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>8</secDNS:alg>
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
</ext:keyData>
<ext:authInfo>
<domain:pw>d74cd8d1c9da83127bcbfdbefc781dd1</domain:pw>
</ext:authInfo>
<ext:expiry>
<ext:relative>Invalid Expiry</ext:relative>
</ext:expiry>
</ext:keyrelay>
<ext:clTRID>1433255634</ext:clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2003">
<msg lang="en">Required parameter missing: keyrelay &gt; keyData &gt; flags [flags]</msg>
</result>
<result code="2005">
<msg lang="en">Expiry relative must be compatible to ISO 8601</msg>
<value>
<relative>Invalid Expiry</relative>
</value>
</result>
<trID>
<clTRID>1433255634</clTRID>
<svTRID>ccReg-8125274982</svTRID>
</trID>
</response>
</epp>
```
### EPP Keyrelay returns an error on invalid relative expiry
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
<command>
<ext:keyrelay>
<ext:name>domain50.ee</ext:name>
<ext:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>8</secDNS:alg>
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
</ext:keyData>
<ext:authInfo>
<domain:pw>d74cd8d1c9da83127bcbfdbefc781dd1</domain:pw>
</ext:authInfo>
<ext:expiry>
<ext:relative>Invalid Expiry</ext:relative>
</ext:expiry>
</ext:keyrelay>
<ext:clTRID>1433255634</ext:clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2005">
<msg lang="en">Expiry relative must be compatible to ISO 8601</msg>
<value>
<relative>Invalid Expiry</relative>
</value>
</result>
<trID>
<clTRID>1433255634</clTRID>
<svTRID>ccReg-5401810171</svTRID>
</trID>
</response>
</epp>
```
### EPP Keyrelay returns an error on invalid absolute expiry
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
<command>
<ext:keyrelay>
<ext:name>domain50.ee</ext:name>
<ext:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>8</secDNS:alg>
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
</ext:keyData>
<ext:authInfo>
<domain:pw>d74cd8d1c9da83127bcbfdbefc781dd1</domain:pw>
</ext:authInfo>
<ext:expiry>
<ext:absolute>Invalid Absolute</ext:absolute>
</ext:expiry>
</ext:keyrelay>
<ext:clTRID>1433255634</ext:clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2005">
<msg lang="en">Expiry absolute must be compatible to ISO 8601</msg>
<value>
<absolute>Invalid Absolute</absolute>
</value>
</result>
<trID>
<clTRID>1433255634</clTRID>
<svTRID>ccReg-7214355118</svTRID>
</trID>
</response>
</epp>
```
### EPP Keyrelay does not allow both relative and absolute
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
<command>
<ext:keyrelay>
<ext:name>domain50.ee</ext:name>
<ext:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>8</secDNS:alg>
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
</ext:keyData>
<ext:authInfo>
<domain:pw>d74cd8d1c9da83127bcbfdbefc781dd1</domain:pw>
</ext:authInfo>
<ext:expiry>
<ext:relative>P1D</ext:relative>
<ext:absolute>2014-12-23</ext:absolute>
</ext:expiry>
</ext:keyrelay>
<ext:clTRID>1433255634</ext:clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Exactly one parameter required: keyrelay &gt; expiry &gt; relative OR keyrelay &gt; expiry &gt; absolute</msg>
</result>
<trID>
<clTRID>1433255634</clTRID>
<svTRID>ccReg-7644188011</svTRID>
</trID>
</response>
</epp>
```
### EPP Keyrelay saves legal document with keyrelay
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
<command>
<ext:keyrelay>
<ext:name>domain50.ee</ext:name>
<ext:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>8</secDNS:alg>
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
</ext:keyData>
<ext:authInfo>
<domain:pw>d74cd8d1c9da83127bcbfdbefc781dd1</domain:pw>
</ext:authInfo>
<ext:expiry>
<ext:relative>P1D</ext:relative>
</ext:expiry>
</ext:keyrelay>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="pdf">JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==</eis:legalDocument>
</eis:extdata>
<ext:clTRID>1433255634</ext:clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2307">
<msg lang="en">Unimplemented object service</msg>
<value>
<name>domain50.ee</name>
</value>
</result>
<trID>
<clTRID>1433255634</clTRID>
<svTRID>ccReg-3128458487</svTRID>
</trID>
</response>
</epp>
```
### EPP Keyrelay validates legal document types
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
<command>
<ext:keyrelay>
<ext:name>domain50.ee</ext:name>
<ext:keyData>
<secDNS:flags>256</secDNS:flags>
<secDNS:protocol>3</secDNS:protocol>
<secDNS:alg>8</secDNS:alg>
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
</ext:keyData>
<ext:authInfo>
<domain:pw>d74cd8d1c9da83127bcbfdbefc781dd1</domain:pw>
</ext:authInfo>
<ext:expiry>
<ext:relative>P1D</ext:relative>
</ext:expiry>
</ext:keyrelay>
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
<eis:legalDocument type="jpg">JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==</eis:legalDocument>
</eis:extdata>
<ext:clTRID>1433255634</ext:clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Attribute is invalid: type</msg>
</result>
<trID>
<clTRID>1433255634</clTRID>
<svTRID>ccReg-0297240223</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2389453333</svTRID>
</trID>
</response>
</epp>
```
### EPP Poll returns no messages in poll
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="req"/>
<clTRID>1433255635</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1300">
<msg>Command completed successfully; no messages</msg>
</result>
<trID>
<clTRID>1433255635</clTRID>
<svTRID>ccReg-4831425687</svTRID>
</trID>
</response>
</epp>
```
### EPP Poll queues and dequeues messages
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5009213156</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="req"/>
<clTRID>1433255635</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1300">
<msg>Command completed successfully; no messages</msg>
</result>
<trID>
<clTRID>1433255635</clTRID>
<svTRID>ccReg-4579720314</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-1117836622</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="req"/>
<clTRID>1433255635</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1301">
<msg>Command completed successfully; ack to dequeue</msg>
</result>
<msgQ count="1" id="1">
<qDate>2015-06-02T14:33:55Z</qDate>
<msg>Balance low.</msg>
</msgQ>
<trID>
<clTRID>1433255635</clTRID>
<svTRID>ccReg-6818644062</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar2</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5629164655</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="ack" msgID="1"/>
<clTRID>1433255635</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2303">
<msg lang="en">Message was not found</msg>
<value>
<msgID>1</msgID>
</value>
</result>
<trID>
<clTRID>1433255635</clTRID>
<svTRID>ccReg-8779692532</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>registrar1</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2322466492</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="ack" msgID="1"/>
<clTRID>1433255635</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<msgQ count="0" id="1"/>
<trID>
<clTRID>1433255635</clTRID>
<svTRID>ccReg-1448968329</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="ack" msgID="1"/>
<clTRID>1433255635</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2303">
<msg lang="en">Message was not found</msg>
<value>
<msgID>1</msgID>
</value>
</result>
<trID>
<clTRID>1433255635</clTRID>
<svTRID>ccReg-5059320168</svTRID>
</trID>
</response>
</epp>
```
### EPP Poll returns an error on incorrect op
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="bla"/>
<clTRID>1433255635</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Attribute is invalid: op</msg>
</result>
<trID>
<clTRID>1433255635</clTRID>
<svTRID>ccReg-7334193234</svTRID>
</trID>
</response>
</epp>
```
### EPP Poll dequeues multiple messages
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="req"/>
<clTRID>1433255635</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1301">
<msg>Command completed successfully; ack to dequeue</msg>
</result>
<msgQ count="3" id="4">
<qDate>2015-06-02T14:33:55Z</qDate>
<msg>Smth else.</msg>
</msgQ>
<trID>
<clTRID>1433255635</clTRID>
<svTRID>ccReg-8601126353</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="ack" msgID="4"/>
<clTRID>1433255635</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<msgQ count="2" id="4"/>
<trID>
<clTRID>1433255635</clTRID>
<svTRID>ccReg-0720878869</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="req"/>
<clTRID>1433255635</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1301">
<msg>Command completed successfully; ack to dequeue</msg>
</result>
<msgQ count="2" id="3">
<qDate>2015-06-02T14:33:55Z</qDate>
<msg>Something.</msg>
</msgQ>
<trID>
<clTRID>1433255635</clTRID>
<svTRID>ccReg-6387534980</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="ack" msgID="3"/>
<clTRID>1433255635</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<msgQ count="1" id="3"/>
<trID>
<clTRID>1433255635</clTRID>
<svTRID>ccReg-7629601014</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="req"/>
<clTRID>1433255635</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1301">
<msg>Command completed successfully; ack to dequeue</msg>
</result>
<msgQ count="1" id="2">
<qDate>2015-06-02T14:33:55Z</qDate>
<msg>Balance low.</msg>
</msgQ>
<trID>
<clTRID>1433255635</clTRID>
<svTRID>ccReg-7195300830</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="ack" msgID="2"/>
<clTRID>1433255635</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<msgQ count="0" id="2"/>
<trID>
<clTRID>1433255635</clTRID>
<svTRID>ccReg-9650279518</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<poll op="req"/>
<clTRID>1433255635</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1300">
<msg>Command completed successfully; no messages</msg>
</result>
<trID>
<clTRID>1433255635</clTRID>
<svTRID>ccReg-7592361386</svTRID>
</trID>
</response>
</epp>
```
### EPP Session when not connected greets client upon connection
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<greeting>
<svID>EPP server (EIS)</svID>
<svDate>2015-06-02T14:33:56Z</svDate>
<svcMenu>
<version>1.0</version>
<lang>en</lang>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcMenu>
<dcp>
<access>
<all/>
</access>
<statement>
<purpose>
<admin/>
<prov/>
</purpose>
<recipient>
<public/>
</recipient>
<retention>
<stated/>
</retention>
</statement>
</dcp>
</greeting>
</epp>
```
### EPP Session when connected does not log in with invalid user
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>wrong-user</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2501">
<msg>Authentication error; server closing connection</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-7464095017</svTRID>
</trID>
</response>
</epp>
```
### EPP Session when connected does not log in with inactive user
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>inactive-user</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2501">
<msg>Authentication error; server closing connection</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-2654938305</svTRID>
</trID>
</response>
</epp>
```
### EPP Session when connected prohibits further actions unless logged in
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>test.ee</domain:name>
</domain:info>
</info>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2002">
<msg lang="en">You need to login first.</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9898783286</svTRID>
</trID>
</response>
</epp>
```
### EPP Session when connected should not have clTRID in response if client does not send it
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>wrong-user</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2501">
<msg>Authentication error; server closing connection</msg>
</result>
<trID>
<svTRID>ccReg-8185595001</svTRID>
</trID>
</response>
</epp>
```
### EPP Session when connected with valid user logs in epp user
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>gitlab</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-4199405905</svTRID>
</trID>
</response>
</epp>
```
### EPP Session when connected with valid user does not log in twice
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>gitlab</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-0414590639</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>gitlab</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2002">
<msg lang="en">Already logged in. Use &lt;logout&gt; first.</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6335502065</svTRID>
</trID>
</response>
</epp>
```
### EPP Session when connected with valid user logs out epp user
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>gitlab</clID>
<pw>ghyt9e4fu</pw>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6677960555</svTRID>
</trID>
</response>
</epp>
```
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<logout/>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1500">
<msg>Command completed successfully; ending session</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-5660755803</svTRID>
</trID>
</response>
</epp>
```
### EPP Session when connected with valid user changes password and logs in
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>gitlab</clID>
<pw>ghyt9e4fu</pw>
<newPW>abcdefg</newPW>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-3509704396</svTRID>
</trID>
</response>
</epp>
```
### EPP Session when connected with valid user fails if new password is not valid
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>gitlab</clID>
<pw>ghyt9e4fu</pw>
<newPW/>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Password is missing [password]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-9043992654</svTRID>
</trID>
</response>
</epp>
```
### EPP Session when connected with valid user fails if new password is not valid
REQUEST:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>gitlab</clID>
<pw>ghyt9e4fu</pw>
<newPW/>
<options>
<version>1.0</version>
<lang>en</lang>
</options>
<svcs>
<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
<svcExtension>
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
<extURI>urn:ee:eis:xml:epp:eis-1.0</extURI>
</svcExtension>
</svcs>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
```
RESPONSE:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<epp schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="2306">
<msg lang="en">Password is missing [password]</msg>
</result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>ccReg-6766869050</svTRID>
</trID>
</response>
</epp>
```