EPP Index

From Openprovider API documentation

Jump to: navigation, search

Contents

EPP interface specifications

Introduction

EPP (Extensible Provisioning Protocol) is the communication standard for most registries. The EPP interface of Openprovider thus provides an interface that follows a standard, simplifying integration for any company that already implemented an EPP interface to another registry in the past.

The EPP interface is a layer on top of the general Openprovider API. This increases maintainability and stability, but might drop speed a little because of the translation from EPP to API format.

  • Who should use the EPP interface?
    • Customers already having an EPP implementation to another domain provider. Connecting to the EPP interface of Openprovider is the easiest way for a quick start.
  • Who should use the general Openprovider API?
    • Customers that do not have implemented EPP yet: the Openprovider API is easier to implement and use
    • Customers that want to sell not only domains: the EPP interface only supports domain and contact management, no support for SSL, licenses and other products

In general: if you have no specific reason to use EPP, we recommend the Openprovider API.

Scope

The EPP interface is built for domains and contacts only. For all other products, the general Openprovider API should be used.

Reference to RFCs

Differences

  • Cookies are used to keep a session alive. After the login command, the server returns a cookie session_id which must be used in all following requests to the server until closing the session.
  • DNSSEC is not yet supported.
  • Although not against the RFCs, please note that Openprovider uses a lot of extensions to be able to cover all TLD-specific requirements. The extensions are defined in the opprov-1.0.xsd file

Example

EPP server

  • hostname: https://epp.openprovider.eu
  • port: 443
  • username: similar to RCP username
    • Note: EPP defines a maximum length of 16 characters for the username. If your RCP username is longer, please contact our support team to change it to a shorter one.
  • password: similar to RCP password

Session

Hello

Request
<?xml version="1.0" encoding="UTF-8"?>                                                   
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">                                              
  <hello/>                                                                                  
</epp>
Response
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <greeting>
    <svID>Openprovider EPP Server</svID>
    <svDate>2012-07-05T16:08:04Z</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>
      <svcExtension>
        <extURI>http://www.openprovider.nl/epp/xml/opprov-1.0</extURI>
      </svcExtension>
    </svcMenu>
    <dcp>
      <access>
        <all/>
      </access>
      <statement>
        <purpose>
          <admin/>
          <prov/>
        </purpose>
        <recipient>
          <ours/>
          <public/>
        </recipient>
        <retention>
          <stated/>
        </retention>
      </statement>
    </dcp>
  </greeting>
</epp>

Login

Request
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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">
  <command>
    <login>
      <clID>username</clID>
      <pw>password</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>
        <svcExtension>
          <extURI>urn:ietf:params:xml:ns:rgp-1.0</extURI>
          <extURI>http://www.openprovider.nl/epp/xml/opprov-1.0</extURI>
        </svcExtension>
      </svcs>
    </login>
    <clTRID>ABC-12345</clTRID>
  </command>
</epp>
Response
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <trID>
      <clTRID>ABC-12345</clTRID>
      <svTRID>41E31A2F-1B6A-4BFA-AE07-00A4DE8FCC0C</svTRID>
    </trID>
  </response>
</epp>
  • Important: together with the response, the server returns a cookie session_id which must be used in all following requests to the server until closing the session.
  • Password reset via the EPP login command is not possible

Logout

Request
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <logout/>
    <clTRID>83EE2B34-2385-11DE-9267-8000000019CE</clTRID>
  </command>
</epp>
Response
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1500">
      <msg>Command completed successfully; ending session</msg>
    </result>
    <trID>
      <clTRID>83EE2B34-2385-11DE-9267-8000000019CE</clTRID>
      <svTRID>180372ED-5E05-4718-8A73-40B37AE37D62</svTRID>
    </trID>
  </response>
</epp>

Domain

Check

Request
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <check>
      <domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>example.net</domain:name>
        <domain:name>example.org</domain:name>
      </domain:check>
    </check>
    <clTRID>C68D3D5A-2F3C-11DE-8EF9-80000000DC4F</clTRID>
  </command>
</epp>
Response
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
      <domain:chkData>
        <domain:cd>
          <domain:name avail="1">example.net</domain:name>
        </domain:cd>
        <domain:cd>
          <domain:name avail="0">example.org</domain:name>
          <domain:reason>Domain name not available</domain:reason>
        </domain:cd>
      </domain:chkData>
    </resData>
    <trID>
      <clTRID>C68D3D5A-2F3C-11DE-8EF9-80000000DC4F</clTRID>
      <svTRID>B3E22269-EE9E-4E32-82C0-54C02400E396</svTRID>
    </trID>
  </response>
</epp>

Create

Request
<?xml version="1.0" encoding="UTF-8"?>
<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>example.com</domain:name>
        <domain:period unit="y">1</domain:period>
        <domain:ns>
          <domain:hostAttr>
            <domain:hostName>ns1.example.com</domain:hostName>
            <domain:hostAddr ip="v6">2607:f0d0:1002:51::4</domain:hostAddr>
          </domain:hostAttr>
          <domain:hostAttr>
            <domain:hostName>ns2.example.com</domain:hostName>
            <domain:hostAddr ip="v4">123.123.123.123</domain:hostAddr>
          </domain:hostAttr>
          <domain:hostAttr>
            <domain:hostName>ns3.example.com</domain:hostName>
            <domain:hostAddr ip="v4">123.123.123.125</domain:hostAddr>
            <domain:hostAddr ip="v6">2607:f0d0:1002:51::5</domain:hostAddr>
          </domain:hostAttr>
          <domain:hostAttr>
            <domain:hostName>ns3.company.net</domain:hostName>
          </domain:hostAttr>
        </domain:ns>
        <domain:registrant>FL902041-US</domain:registrant>
        <domain:contact type="admin">FL902041-US</domain:contact>
        <domain:contact type="tech">FL902041-US</domain:contact>
        <domain:authInfo>
          <domain:pw/>
        </domain:authInfo>
      </domain:create>
    </create>
    <extension>
      <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0">
        <op:create>
          <op:domain>
            <op:promoCode>PROMO2</op:promoCode>
            <op:useDomicile>false</op:useDomicile>
            <op:nsGroup></op:nsGroup>
            <op:comments>any comment here</op:comments>
            <op:autorenew>default</op:autorenew>
            <op:nsTemplateName></op:nsTemplateName>
          </op:domain>
        </op:create>
      </op:ext>
    </extension>
    <clTRID>3F169D90-411F-11DE-84A7-80000000274B</clTRID>
  </command>
</epp>
  • <domain:pw> parameter is required by the EPP protocol, but is ignored by Openprovider; please leave it blank
  • <domain:contact>: the only supported contact types are admin and tech
  • <op:autorenew>: accepted values: on, off, default
  • <op:nsTemplateName>: can be used if <op:nsGroup> is dns-openprovider


Response
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
      <domain:creData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>example.com</domain:name>
        <domain:crDate>2012-07-17T14:41:03.0Z</domain:crDate>
        <domain:exDate>2012-07-29T14:41:03.0Z</domain:exDate>
      </domain:creData>
    </resData>
    <trID>
      <clTRID>3F169D90-411F-11DE-84A7-80000000274B</clTRID>
      <svTRID>6CEB9B8B-63CE-4925-BB69-C4BF89012266</svTRID>
    </trID>
  </response>
</epp>

Delete

Request
<?xml version="1.0" encoding="UTF-8"?>
<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.com</domain:name>
      </domain:delete>
    </delete>
    <clTRID>734ABADA-3015-11DE-A6A7-800000008EDE</clTRID>
  </command>
</epp>
Response
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <resultcode="1000">
      <msg>Command completed successfully</msg>
    </result>
    <trID>
      <clTRID>734ABADA-3015-11DE-A6A7-800000008EDE</clTRID>
      <svTRID>77FC94EA-3015-11DE-9878-8D01B5F06CC6</svTRID>
    </trID>
  </response>
</epp>

Restore

Openprovider implements Domain Registry Grace Period Mapping for the Extensible Provisioning Protocol (EPP) partially for restore procedure. The EPP response on <domain:info> command for deleted domains that can be still restored has an additional extension section <rgp:infData/>, containing value pendingDelete:

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
      <domain:infData>
        ...
      </domain:infData>
    </resData>
    <extension>
      ...
      <rgp:infData xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0">
        <rgp:rgpStatus s="pendingDelete"/>
      </rgp:infData>
      ...
  </extension>
</epp>
Request
<?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>example.com</domain:name>
        <domain:chg/>
      </domain:update>
    </update>
    <extension>
      <rgp:update xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0">
        <rgp:restore op="request"/>
      </rgp:update>
    </extension>
    <clTRID>6A464E50-300A-11DE-B776-80000000AE6H</clTRID>
  </command>
</epp>

<domain:add/>, <domain:rem/> and <domain:chg/> must not contain any elements in it.

Reply
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <trID>
      <clTRID>6A464E50-300A-11DE-B776-80000000AE6H</clTRID>
      <svTRID>7A7534DB-F45F-4E70-84D5-ABA480A5D101</svTRID>
    </trID>
  </response>
</epp>

Info

Request
<?xml version="1.0" encoding="UTF-8"?>
<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>example.com</domain:name>
      </domain:info>
    </info>
    <clTRID>3F169D90-411F-11DE-84A7-80000000274B</clTRID>
  </command>
</epp>
Reply
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
      <domain:infData>
        <domain:name>example.com</domain:name>
        <domain:roid>762473_DOMAIN-OPENPROV</domain:roid>
        <domain:status s="ok"/>
        <domain:registrant>OT001234-NL</domain:registrant>
        <domain:contact type="admin">OM901234-US</domain:contact>
        <domain:contact type="tech">DD01234-NL</domain:contact>
        <domain:ns>
          <domain:hostAttr>
            <domain:hostName>ns1.example.com</domain:hostName>
            <domain:hostAddr ip="v4">123.123.123.123</domain:hostAddr>
          </domain:hostAttr>
          <domain:hostAttr>
            <domain:hostName>ns2.example.com</domain:hostName>
            <domain:hostAddr ip="v4">234.234.234.234</domain:hostAddr>
          </domain:hostAttr>
        </domain:ns>
        <domain:clID>username</domain:clID>
        <domain:crDate>2012-03-28T14:08:53.0Z</domain:crDate>
        <domain:exDate>2013-03-28T12:08:54.0Z</domain:exDate>
        <domain:authInfo>
          <domain:pw>AUTHCODE</domain:pw>
        </domain:authInfo>
      </domain:infData>
    </resData>
    <extension>
      <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0">
        <op:resData>
          <op:infData>
            <op:domain>
              <op:isLocked>false</op:isLocked>
              <op:reDate>2012-03-28T14:08:49.0Z</op:reDate>
              <op:renewalDate>2013-03-28T12:08:54.0Z</op:renewalDate>
              <op:canRenew>true</op:canRenew>
              <op:autorenew>default</op:autorenew>
              <op:useDomicile>false</op:useDomicile>
            </op:domain>
          </op:infData>
        </op:resData>
      </op:ext>
    </extension>
    <trID>
      <clTRID>3F169D90-411F-11DE-84A7-80000000274B</clTRID>
      <svTRID>CDAE7C10-A3D0-4EA7-B290-2E1A380A0690</svTRID>
    </trID>
  </response>
</epp>

Renew

Request
<?xml version="1.0" encoding="UTF-8"?>
<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>example.com</domain:name>
        <domain:curExpDate>2012-02-18</domain:curExpDate>
        <domain:period unit="y">1</domain:period>
      </domain:renew>
    </renew>
    <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID>
  </command>
</epp>
  • <domain:curExpDate/> is required by EPP protocol but not used by current version of Openprovider software
Response
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData>
      <domain:renData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>example.com</domain:name>
        <domain:exDate>2012-02-18T16:02:04.0Z</domain:exDate>
      </domain:renData>
    </resData>
    <trID>
      <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID>
      <svTRID>F7F750BE-3014-11DE-A523-A02790CC78DB</svTRID>
    </trID>
  </response>
</epp>

Transfer

Request Transfer

Request
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0">
  <command>
    <transfer op="request">
      <domain:transfer>
        <domain:name>example.de</domain:name>
        <domain:authInfo>
          <domain:pw>AUTHCODE</domain:pw>
        </domain:authInfo>
      </domain:transfer>
    </transfer>
    <extension>
      <op:ext>
        <op:transfer>
          <op:domain>
            <op:registrant>FL902042-US</op:registrant>
            <op:contact type="admin">FL902042-US</op:contact>
            <op:contact type="tech">FL902042-US</op:contact>
            <op:ns>
              <domain:hostAttr>
                <domain:hostName>ns1.example.de</domain:hostName>
                <domain:hostAddr ip="v6">2607:f0d0:1002:51::4</domain:hostAddr>
              </domain:hostAttr>
              <domain:hostAttr>
                <domain:hostName>ns2.example.de</domain:hostName>
                <domain:hostAddr ip="v4">123.123.123.123</domain:hostAddr>
              </domain:hostAttr>
            </op:ns>
            <op:autorenew>on</op:autorenew>
            <op:nsGroup></op:nsGroup>
            <op:useDomicile>true</op:useDomicile>
            <op:comments>ANY COMMENT  HERE</op:comments>
            <op:promoCode>PROMOCODE</op:promoCode>
            <op:nsTemplateName></op:nsTemplateName>
          </op:domain>
        </op:transfer>
      </op:ext>
    </extension>
    <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID>
  </command>
</epp>
  • <domain:contact>: the only supported contact types are admin and tech
  • <op:autorenew>: accepted values: on, off, default
  • <op:nsTemplateName>: can be used if <op:nsGroup> is dns-openprovider
Reply
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
      <domain:trnData>
        <domain:name>example.de</domain:name>
        <domain:trStatus>pending</domain:trStatus>
        <domain:reID>username</domain:reID>
        <domain:reDate>2012-08-17T11:21:13.0Z</domain:reDate>
        <domain:acID>UNSUPPORTED</domain:acID>
        <domain:acDate>2012-08-17T11:21:13.0Z</domain:acDate>
        <domain:exDate>2012-08-17T11:21:13.0Z</domain:exDate>
      </domain:trnData>
    </resData>
    <trID>
      <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID>
      <svTRID>BE4FAFBF-177D-4632-9CE0-F5C02C4AAFB7</svTRID>
    </trID>
  </response>
</epp>
  • Not supported output parameters: acID, acDate, exDate
  • trStatus is restricted to 3 values:
    • serverApproved: the transfer is approved
    • pending
    • serverCancelled: the transfer is rejected or cancelled

Cancel Transfer

Not available

Approve Transfer

Request
<?xml version="1.0" encoding="UTF-8"?>
<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>example.com</domain:name>
      </domain:transfer>
    </transfer>
    <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID>
  </command>
</epp>
Reply
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <trID>
      <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID>
      <svTRID>DCE0BD68-769B-4EA4-AFF1-CC40DFEC578D</svTRID>
    </trID>
  </response>
</epp>

Query Transfer Status

Request
<?xml version="1.0" encoding="UTF-8"?>
<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>example.com</domain:name>
      </domain:transfer>
    </transfer>
    <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID>
  </command>
</epp>
Reply
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
      <domain:trnData>
        <domain:name>example.com</domain:name>
        <domain:trStatus>serverApproved</domain:trStatus>
        <domain:reID>username</domain:reID>
        <domain:reDate>2012-07-17T14:41:04.0Z</domain:reDate>
        <domain:acID>UNSUPPORTED</domain:acID>
        <domain:acDate>2012-07-17T14:41:21.0Z</domain:acDate>
        <domain:exDate>2012-07-17T14:41:21.0Z</domain:exDate>
      </domain:trnData>
    </resData>
    <trID>
      <clTRID>EF1F57D0-3013-11DE-8D9E-8000000041FC</clTRID>
      <svTRID>31ED84C0-CADA-45BA-87A1-85238465CF30</svTRID>
    </trID>
  </response>
</epp>
  • Not supported output parameters: acID, acDate, exDate
  • trStatus is restricted to 3 values:
    • serverApproved: the transfer is approved
    • pending
    • serverCancelled: the transfer is rejected or cancelled

Update

Request
<?xml version="1.0" encoding="UTF-8"?>
<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>example.com</domain:name>
        <domain:add>
          <domain:ns>
            <domain:hostAttr>
              <domain:hostName>ns1.example.com</domain:hostName>
              <domain:hostAddr ip="v6">2607:f0d0:1002:51::4</domain:hostAddr>
            </domain:hostAttr>
          </domain:ns>
          <domain:contact type="tech">DD004372-NL</domain:contact>
          <domain:status s="clientTransferProhibited"/>
        </domain:add>
        <domain:rem>
          <domain:ns>
            <domain:hostAttr>
              <domain:hostName>ns2.example.com</domain:hostName>
            </domain:hostAttr>
          </domain:ns>
          <domain:contact type="tech">JL901992-NL</domain:contact>
        </domain:rem>
        <domain:chg>
          <domain:registrant>OT000288-NL</domain:registrant>
          <domain:authInfo>
            <domain:pw/>
          </domain:authInfo>
        </domain:chg>
      </domain:update>
    </update>
    <extension>
      <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0">
        <op:update>
          <op:domain>
            <op:chg>
              <op:autorenew>on</op:autorenew>
              <op:useDomicile>false</op:useDomicile>
              <op:comments>Custom comment</op:comments>
              <op:nsGroup></op:nsGroup>
              <op:resetAuthCode>true</op:resetAuthCode>
            </op:chg>
          </op:domain>
        </op:update>
      </op:ext>
    </extension>
    <clTRID>6A464E50-300A-11DE-B776-80000000AE6H</clTRID>
  </command>
</epp>
Response
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <trID>
      <clTRID>6A464E50-300A-11DE-B776-80000000AE6H</clTRID>
      <svTRID>E4509728-38CC-462F-BF9C-D7AFDB5420DF</svTRID>
    </trID>
  </response>
</epp>
  • <contact:pw/> element is NOT used but required by EPP protocol; please leave it blank

Support for new gTLDs and their launch phases

General information
  • Openprovider follows the existing RFCs for launch phase support, although there are some small changes because of the registrar situation (instead of registry situation). See examples below.
  • The domain:check can optionally be used to see if trademark claims applies; if so, you know that Openprovider will send a trademark claims notice to the proposed domain holder. The domain:create command is not different for a domain with or without claims.
  • The domain:create command may contain the launch phase, see examples below. The supported launch phases are the following; for exact dates and times per extension, please look at the TLD detail pages on our website:
    • <launch:phase>sunrise</launch:phase> (base64 encoded SMD file required); accepted during Sunrise
    • <launch:phase>landrush</launch:phase>; accepted during Landrush
    • <launch:phase>claims</launch:phase>; accepted during trademark claims phase
    • <launch:phase name="preregistration">custom</launch:phase>; accepted until 3 hours before General Availability starts
Example check command+response to check if trademark claims applies
<?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>trademark.tld</domain:name>
      </domain:check>
    </check>
    <extension>
      <launch:check xmlns:launch="urn:ietf:params:xml:ns:launch-1.0" type="claims">
        <launch:phase>claims</launch:phase>
      </launch:check>
    </extension>
    <clTRID>C68D3D5A-2F3C-11DE-8EF9-80000000DC4F</clTRID>
  </command>
</epp>

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <extension>
      <launch:chkData xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
        <launch:phase>claims</launch:phase>
        <launch:cd>
          <launch:name exists="true">trademark.tld</launch:name>
        </launch:cd>
      </launch:chkData>
    </extension>
    <trID>
      <clTRID>C68D3D5A-2F3C-11DE-8EF9-80000000DC4F</clTRID>
      <svTRID>37080027-DB39-416A-A82E-AF793FB14AE9</svTRID>
    </trID>
  </response>
</epp>
Example create command for a Sunrise application
<?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>example.tld</domain:name>
        ... (other standard domain attributes)
      </domain:create>
    </create>
    <extension>
      <launch:create xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
        <launch:phase>sunrise</launch:phase>
        <smd:encodedSignedMark xmlns:smd="urn:ietf:params:xml:ns:signedMark-1.0">
          ... (base64-encoded SMD file)
        </smd:encodedSignedMark>
      </launch:create>
      <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0">
        <op:create>
          <op:domain>
            ... (optional standard Openprovider extensions)
          </op:domain>
        </op:create>
      </op:ext>
    </extension>
    <clTRID>3F169D90-411F-11DE-84A7-80000000274B</clTRID>
  </command>
</epp>
Example create extension for Landrush, claims and pre-registration orders
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  ...
    <extension>
      <launch:create xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
        <launch:phase>landrush</launch:phase>
      </launch:create>
  ...

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  ...
    <extension>
      <launch:create xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
        <launch:phase>claims</launch:phase>
      </launch:create>
  ...

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  ...
    <extension>
      <launch:create xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
        <launch:phase name="preregistration">custom</launch:phase>
      </launch:create>
  ...

Contact

Check

Request
<?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">
  <command>
    <check>
      <contact:check xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
        <contact:id>IB000543-NL</contact:id>
        <contact:id>IB000544-NL</contact:id>
      </contact:check>
    </check>
    <clTRID>30F11A90-2FFB-11DE-ADDE-80000000D51D</clTRID>
  </command>
</epp>
Response
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
      <contact:chkData>
        <contact:cd>
          <contact:id avail="0">IB000543-NL</contact:id>
        </contact:cd>
        <contact:cd>
          <contact:id avail="1">IB000544-NL</contact:id>
        </contact:cd>
      </contact:chkData>
    </resData>
    <trID>
      <clTRID>30F11A90-2FFB-11DE-ADDE-80000000D51D</clTRID>
      <svTRID>32C1BC3A-2FFB-11DE-B49B-B7731FA00EDE</svTRID>
    </trID>
  </response>
</epp>

Create

Request
<?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">
  <command>
    <create>
      <contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd">
        <contact:id>IGNORED</contact:id>
        <contact:postalInfo type="loc">
          <contact:name>John Doe</contact:name>
          <contact:org>Example Inc.</contact:org>
          <contact:addr>
            <contact:street>Main street 15</contact:street>
            <contact:city>Rotterdam</contact:city>
            <contact:sp>Zuid-Holland</contact:sp>
            <contact:pc>3024 BN</contact:pc>
            <contact:cc>NL</contact:cc>
          </contact:addr>
        </contact:postalInfo>
        <contact:voice>+31.104482299</contact:voice>
        <contact:fax>+31.102440250</contact:fax>
        <contact:email>jdoe@example.com</contact:email>
        <contact:authInfo>
          <contact:pw/>
        </contact:authInfo>
      </contact:create>
    </create>
    <extension>
      <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0">
        <op:create>
          <op:contact>
            <op:vat>NL09507882B01</op:vat>
            <op:comments>Custom comment</op:comments>
            <op:gender>male</op:gender>
            <op:birthDate>1982-10-23</op:birthDate>
            <op:birthCity>Amsterdam</op:birthCity>
            <op:birthCountry>NL</op:birthCountry>
            <op:birthAddress>Hoofdstraat 32</op:birthAddress>
            <op:birthState>Nood-Holland</op:birthState>
            <op:birthZipcode>1000 AA</op:birthZipcode>
            <op:companyRegistrationCity>Amsterdam</op:companyRegistrationCity>
            <op:companyRegistrationNumber>123456</op:companyRegistrationNumber>
            <op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate>
            <op:headquartersAddress></op:headquartersAddress>
            <op:headquartersCity></op:headquartersCity>
            <op:headquartersCountry></op:headquartersCountry>
            <op:headquartersState></op:headquartersState>
            <op:headquartersZipcode></op:headquartersZipcode>
            <op:socialSecurityNumber></op:socialSecurityNumber>
            <op:passportNumber></op:passportNumber>
          </op:contact>
        </op:create>
      </op:ext>
    </extension>
    <clTRID>30FC8ABC-2FFE-11DE-9786-80000000A8C5</clTRID>
  </command>
</epp> 
  • <contact:postalInfo> type attribute is restricted to only one value: loc
  • <contact:id> is ignored by Openprovider
  • <contact:pw> is ignored by Openprovider but required by the EPP protocol; please leave it blank
  • <contact:disclose> is ignored by Openprovider
Response
<?xmlversion="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData>
      <contact:creData xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
        <contact:id>IB000545-NL</contact:id>
        <contact:crDate>2012-07-23T11:59:29.0Z</contact:crDate>
      </contact:creData>
    </resData>
    <trID>
      <clTRID>30FC8ABC-2FFE-11DE-9786-80000000A8C5</clTRID>
      <svTRID>331E69A0-2FFE-11DE-B163-D0A51393EAB9</svTRID>
    </trID>
  </response>
</epp>

Delete

Request
<?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">
  <command>
    <delete>
      <contact:delete xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd">
        <contact:id>IB000545-NL</contact:id>
      </contact:delete>
    </delete>
    <clTRID>FDB67388-2FFE-11DE-970B-80000000568C</clTRID>
  </command>
</epp>
Response
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <resultcode="1000">
      <msg>Command completed successfully</msg>
    </result>
    <trId>
      <clTRID>FDB67388-2FFE-11DE-970B-80000000568C</clTRID>
      <svTRID>29B5C6C2-3005-11DE-9BD1-C9EF1D79318A</svTRID>
    </trId>
  </response>
</epp>


Info

Request
<?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">
  <command>
    <info>
      <contact:info xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd">
        <contact:id>IB000545-NL</contact:id>
      </contact:info>
    </info>
    <clTRID>6662D288-2FFE-11DE-A0EB-80000000AAB4</clTRID>
  </command>
</epp>
Response
<?xml version="1.0" -encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData>
      <contact:infData xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
        <contact:id>IB000545-NL</contact:id>
        <contact:roid>495726825335031_CONTACT-OPENPROV</contact:roid>
        <contact:status s="ok"/>
        <contact:postalInfo>
          <contact:name>John Doe</contact:name>
          <contact:org>Example Inc.</contact:org>
          <contact:addr>
            <contact:street>Main Street 15</contact:street>
            <contact:city>Rotterdam</contact:city>
            <contact:sp>Zuid-Holland</contact:sp>
            <contact:pc>3024 BN</contact:pc>
            <contact:cc>NL</contact:cc>
          </contact:addr>
        </contact:postalInfo>
        <contact:voice>+31.104482299</contact:voice>
        <contact:fax>+31.102440250</contact:fax>
        <contact:email>jdoe@example.com</contact:email>
        <contact:clID>username</contact:clID>
        <contact:crID>UNSUPPORTED</contact:crID>
        <contact:crDate>2012-07-20T07:59:26.0Z</contact:crDate>
        <contact:upID>username</contact:upID>
        <contact:upDate>2012-07-20T07:59:26.0Z</contact:upDate>
      </contact:infData>
    </resData>
    <extension>
      <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0">
        <op:resData>
          <op:infData>
            <op:contact>
              <op:gender>male</op:gender>
              <op:birthAddress></op:birthAddress>
              <op:birthCity></op:birthCity>
              <op:birthCountry></op:birthCountry>
              <op:birthDate>1982-10-23</op:birthDate>
              <op:birthState></op:birthState>
              <op:birthZipcode></op:birthZipcode>
              <op:companyRegistrationCity>Amsterdam</op:companyRegistrationCity>
              <op:companyRegistrationNumber>123456</op:companyRegistrationNumber>
              <op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate>
              <op:headquartersAddress></op:headquartersAddress>
              <op:headquartersCity></op:headquartersCity>
              <op:headquartersCountry></op:headquartersCountry>
              <op:headquartersState></op:headquartersState>
              <op:headquartersZipcode></op:headquartersZipcode>
              <op:passportNumber></op:passportNumber>
              <op:socialSecurityNumber></op:socialSecurityNumber>
            </op:contact>
          </op:infData>
        </op:resData>
      </op:ext>
    </extension>
    <trId>
      <clTRID>6662D288-2FFE-11DE-A0EB-80000000AAB4</clTRID>
      <svTRID>6BFBA8FA-2FFE-11DE-A1D9-ED9826062824</svTRID>
    </trId>
  </response>
</epp>
  • Not supported output values: crID, crDate, upDate

Transfer

Not available

Update

Request
<?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">
  <command>
    <update>
      <contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd">
        <contact:id>IB000545-NL</contact:id>
        <contact:chg>
          <contact:postalInfo type="loc">
            <contact:org/>
            <contact:addr>
              <contact:street>Street 18</contact:street>
              <contact:city>Amsterdam</contact:city>
              <contact:sp>NH</contact:sp>
              <contact:pc>1000 AA</contact:pc>
              <contact:cc>NL</contact:cc>
            </contact:addr>
          </contact:postalInfo>
          <contact:voice>+31.201234567</contact:voice>
          <contact:fax/>
        </contact:chg>
      </contact:update>
    </update>
    <extension>
      <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0">
        <op:update>
          <op:contact>
            <op:chg>
              <op:vat>NL123245443B01</op:vat>
              <op:comments></op:comments>
              <op:birthAddress></op:birthAddress>
              <op:birthCity></op:birthCity>
              <op:birthCountry></op:birthCountry>
              <op:birthDate>1982-10-23</op:birthDate>
              <op:birthState></op:birthState>
              <op:birthZipcode></op:birthZipcode>
              <op:companyRegistrationCity></op:companyRegistrationCity>
              <op:companyRegistrationNumber></op:companyRegistrationNumber>
              <op:companyRegistrationSubscriptionDate>2011-10-10</op:companyRegistrationSubscriptionDate>
              <op:headquartersAddress></op:headquartersAddress>
              <op:headquartersCity></op:headquartersCity>
              <op:headquartersCountry></op:headquartersCountry>
              <op:headquartersState></op:headquartersState>
              <op:headquartersZipcode></op:headquartersZipcode>
              <op:passportNumber></op:passportNumber>
              <op:socialSecurityNumber></op:socialSecurityNumber>
            </op:chg>
          </op:contact>
        </op:update>
      </op:ext>
    </extension>
    <clTRID>C69B3942-2FFE-11DE-A4BB-8000000034E6</clTRID>
  </command>
</epp>
  • <contact:postalInfo> type attribute is restricted to only one value: loc
  • <contact:status> and it's attributes are ignored by Openprovider
  • <contact:pw> is ignored by Openprovider but required by EPP protocol; please leave it blank
  • <contact:disclose> is ignored by Openprovider
Response
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <trId>
      <clTRID>C69B3942-2FFE-11DE-A4BB-8000000034E6</clTRID>
      <svTRID>D70E91A2-2FFE-11DE-9BEA-D9241CA305BD</svTRID>
    </trId>
  </response>
</epp>

Host

Not available

Poll

REQ

Request

<?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">
  <command>
    <poll op="req"/>
    <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID>
  </command>
</epp>

Reply

Every reply message will contain a section <op:polData/> that includes the following required fields:

  • <op:action/> stands for action on the domain:
    • create - domain registration
    • trade - incoming trade of domain
    • outgoing_trade - outgoing trade of domain
    • transfer - incoming trade of domain
    • outgoing_transfer - outgoing trade of domain
    • delete - domain deletion
    • update - update domain's information
  • <op:status/> stands for a status of the operation:
    • complete - operation completed successfully
    • pending - operation in progress
    • onhold - server is waiting for operation issuer input
    • reject - operation is rejected by server or registry
    • error - operation failed because of errors
    • cancel - operation is cancelled by issuer

More information can be found in the optional elements:

  • <op:transaction/> - transaction alphabetic ID
  • <op:title/> - transaction title
  • <op:description/> - short transaction description
  • <op:registryMessage/> - registry message containing more information
  • <op:comments/> - can contain Openprovider's comments, advices, instructions
  • <op:attachment/> - attachment element(s) can contain any base64 encoded documents received from registry


Reply (CREATE)
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1301">
      <msg>Command completed successfully; ack to dequeue</msg>
    </result>
    <msgQ count="1" id="129">
      <qDate>2012-08-05T12:42:04.0Z</qDate>
      <msg>TRANSACTION</msg>
    </msgQ>
    <resData>
      <domain:creData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>example.com</domain:name>
        <domain:crDate>2012-08-01T20:30:20.0Z</domain:crDate>
        <domain:exDate>2013-08-31T20:40:20.0Z</domain:exDate>
      </domain:creData>
    </resData>
    <extension>
      <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0">
        <op:resData>
          <op:creData>
            <op:domain>
              <op:polData>
                <op:action>ACTION</op:action>
                <op:status>STATUS</op:status>
                <op:transaction>TRANSACTION</op:transaction>
                <op:title>MESSAGE TITLE</op:title>
                <op:description>MESSAGE DESCRIPTION</op:description>
                <op:registryMessage>REGISTRY MESSAGE</op:registryMessage>
                <op:attachment>
                  <op:name>FILE NAME</op:name>
                  <op:body>BASE64 ENCODED FILE CONTENT</op:body>
                </op:attachment>
              </op:polData>
            </op:domain>
          </op:creData>
        </op:resData>
      </op:ext>
    </extension>
    <trId>
      <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID>
      <svTRID>D0D58AF1-E771-4D0E-8653-8B58ED909DE7</svTRID>
    </trId>
  </response>
</epp>
Reply (UPDATE/DELETE)
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1301">
      <msg>Command completed successfully; ack to dequeue</msg>
    </result>
    <msgQ count="4" id="132">
      <qDate>2012-08-05T12:42:06.0Z</qDate>
      <msg>TRANSACTION</msg>
    </msgQ>
    <resData>
      <domain:panData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name paResult="0">example.nl</domain:name>
        <domain:paTRID>
          <clTRID>6A464E50-300A-11DE-B776-80000000AE6H</clTRID>
          <svTRID>733582A7-1428-4F1C-8A02-CAEC83A58F8E</svTRID>
        </domain:paTRID>
        <domain:paDate>2012-08-05T12:42:05.0Z</domain:paDate>
      </domain:panData>
    </resData>
    <extension>
      <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0">
        <op:resData>
          <op:panData>
            <op:domain>
              <op:polData>
                <op:action>ACTION</op:action>
                <op:status>STATUS</op:status>
                <op:transaction>TRANSACTION</op:transaction>
                <op:title>MESSAGE TITLE</op:title>
                <op:description>MESSAGE DESCRIPTION</op:description>
                <op:registryMessage>REGISTRY MESSAGE</op:registryMessage>
                <op:attachment>
                  <op:name>FILE NAME</op:name>
                  <op:body>BASE64 ENCODED FILE CONTENT</op:body>
                </op:attachment>
              </op:polData>
            </op:domain>
          </op:panData>
        </op:resData>
      </op:ext>
    </extension>
    <trId>
      <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID>
      <svTRID>09826A4F-4620-44CC-B73C-400D03FEAFC3</svTRID>
    </trId>
  </response>
</epp>
Reply (TRANSFER)
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1301">
      <msg>Command completed successfully; ack to dequeue</msg>
    </result>
    <msgQ count="3" id="135">
      <qDate>2012-08-05T14:44:40.0Z</qDate>
      <msg>TRANSACTION</msg>
    </msgQ>
    <resData>
      <domain:trnData>
        <domain:name>example.nl</domain:name>
        <domain:trStatus>serverCancelled</domain:trStatus>
        <domain:reID>username</domain:reID>
        <domain:reDate>2012-09-01T20:30:20.0Z</domain:reDate>
        <domain:acID>UNSUPPORTED</domain:acID>
        <domain:acDate>2012-08-05T14:44:43.0Z</domain:acDate>
        <domain:exDate>2013-10-31T20:40:20.0Z</domain:exDate>
      </domain:trnData>
    </resData>
    <extension>
      <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0">
        <op:resData>
          <op:trnData>
            <op:domain>
              <op:polData>
                <op:action>ACTION</op:action>
                <op:status>STATUS</op:status>
                <op:transaction>TRANSACTION</op:transaction>
                <op:title>MESSAGE TITLE</op:title>
                <op:description>MESSAGE DESCRIPTION</op:description>
                <op:registryMessage>REGISTRY MESSAGE</op:registryMessage>
                <op:attachment>
                <op:name>FILE NAME</op:name>
                <op:body>BASE64 ENCODED FILE CONTENT</op:body>
                </op:attachment>
              </op:polData>
            </op:domain>
          </op:trnData>
        </op:resData>
      </op:ext>
    </extension>
    <trId>
      <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID>
      <svTRID>09826A4F-4620-44CC-B73C-400D03FEAFC3</svTRID>
    </trId>
  </response>
</epp>


Reply (TRADE)
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1301">
      <msg>Command completed successfully; ack to dequeue</msg>
    </result>
    <msgQ count="3" id="131">
      <qDate>2012-08-05T12:42:06.0Z</qDate>
      <msg>TRANSACTION</msg>
    </msgQ>
    <extension>
      <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0">
        <op:resData>
          <op:trdData>
            <op:domain>
              <op:name>example.nl</op:name>
              <op:trStatus>pending</op:trStatus>
              <op:reID>username</op:reID>
              <op:reDate>2012-08-01T20:30:20.0Z</op:reDate>
              <op:acID>UNSUPPORTED</op:acID>
              <op:acDate>2012-08-05T12:42:08.0Z</op:acDate>
              <op:exDate>2013-10-31T20:40:20.0Z</op:exDate>
              <op:polData>
                <op:action>ACTION</op:action>
                <op:status>STATUS</op:status>
                <op:transaction>TRANSACTION</op:transaction>
                <op:title>MESSAGE TITLE</op:title>
                <op:description>MESSAGE DESCRIPTION</op:description>
                <op:registryMessage>REGISTRY MESSAGE</op:registryMessage>
                <op:attachment>
                  <op:name>FILE NAME</op:name>
                  <op:body>BASE64 ENCODED FILE CONTENT</op:body>
                </op:attachment>
              </op:polData>
            </op:domain>
          </op:trdData>
        </op:resData>
      </op:ext>
    </extension>
    <trId>
      <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID>
      <svTRID>F83DDF05-F54C-44DD-A55E-172CA7EE2819</svTRID>
    </trId>
  </response>
</epp>
Reply (OUTGOING TRANSFER/TRADE)
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1301">
      <msg>Command completed successfully; ack to dequeue</msg>
    </result>
    <msgQ count="3" id="140">
      <qDate>2012-08-05T14:57:14.0Z</qDate>
      <msg>TRANSACTION</msg>
    </msgQ>
    <resData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
      <domain:infData>
        <domain:name>example.nl</domain:name>
        <domain:roid>140_DOMAIN-OPENPROV</domain:roid>
        <domain:status s="inactive"/>
        <domain:clID>username</domain:clID>
      </domain:infData>
    </resData>
    <extension>
      <op:ext xmlns:op="http://www.openprovider.nl/epp/xml/opprov-1.0">
        <op:resData>
          <op:infData>
            <op:domain>
              <op:polData>
                <op:action>ACTION</op:action>
                <op:status>STATUS</op:status>
                <op:transaction>TRANSACTION</op:transaction>
                <op:title>MESSAGE TITLE</op:title>
                <op:description>MESSAGE DESCRIPTION</op:description>
                <op:registryMessage>REGISTRY MESSAGE</op:registryMessage>
                <op:attachment>
                  <op:name>FILE NAME</op:name>
                  <op:body>BASE64 ENCODED FILE CONTENT</op:body>
                </op:attachment>
              </op:polData>
            </op:domain>
          </op:infData>
        </op:resData>
      </op:ext>
    </extension>
    <trId>
      <clTRID>96ABFF8A-2385-11DE-A5FC-8000000002DF</clTRID>
      <svTRID>4C094AED-DC31-49D1-A462-AB68C5956C3E</svTRID>
    </trId>
  </response>
</epp>

ACK

Request
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <poll op="ack" msgID="71"/>
    <clTRID>ABC-12346</clTRID>
  </command>
</epp>
Reply (queue has messages)
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <msgQ count="1" id="70"/>
    <trId>
      <clTRID>ABC-12346</clTRID>
      <svTRID>CBCEC8DB-F1B4-40DB-9B4D-E21EF4DCB2B6</svTRID>
    </trId>
  </response>
</epp>
Reply (queue empty)
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1300">
      <msg>Command completed successfully; no messages</msg>
    </result>
    <trId>
      <clTRID>ABC-12346</clTRID>
      <svTRID>4931F00A-F5DB-4709-A377-95C30F4CF4FF</svTRID>
    </trId>
  </response>
</epp>
Views
Personal tools