EPP Balance

How do I check my available balance over EPP ?

The simplest ( and recomended ) method is to use the finance extension. Note: This is a bespoke, non-rfc extension. The RESPONSE is TLD | CURRENCY | BALANCE.

As an alternative method, CoCCA supports the Registry Fee Extension rfc8748.

Finance Extension - Balance Client REQUEST

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <info>
      <finance:info xmlns:finance="https://finance.coccaregistry.org">
      </finance:info>
    </info>
    <clTRID>CoCCATest</clTRID>
  </command>
</epp>

Finance Extension - Balance Server RESPONSE

<?xml version="1.0" encoding="utf-8"?>
<epp xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn
:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd" xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <finance:infData xmlns:finance="https://finance.coccaregistry.org"> <finance:balance>LAB|EUR|18.00</finance:balance> <finance:balance>OTE|USD|90.00</finance:balance> </finance:infData> </resData> <trID> <clTRID>CoCCATest</clTRID> <svTRID>2e438303-259a-4bdc-b0de-e7d62c4b1477:2</svTRID> </trID> </response> </epp>

Alternative Method, rfc8748 - Fees Extension ( client REQUEST - renew )

See more examples in https://datatracker.ietf.org/doc/html/rfc8748

Any EPP Domain CHECK, CREATE, UPDATE, DELETE, RENEW command that includes the fee extension tag will return the currency, fee, balance and credit limit.

<?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>
    <renew>
      <domain:renew xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
       xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd">
          <domain:name>test90nepp22.ote</domain:name>
          <domain:curExpDate>2023-04-11</domain:curExpDate>
          <domain:period unit="y">1</domain:period>
       </domain:renew>
    </renew>
	<extension>
        <fee:renew xmlns:fee="urn:ietf:params:xml:ns:epp:fee-1.0">
        <fee:currency>USD</fee:currency>
        <fee:fee>5.00</fee:fee>
        </fee:renew>
	</extension>
	<clTRID>ABC-12345</clTRID>
  </command>
</epp>

Alternative Method, rfc8748 - Fees Extension ( server RESPONSE - renew )

<?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">
  <response>
    <result code="1000"><msg>Command completed successfully</msg></result>
    <msgQ count="1" id="2549253"/>
	<resData>
        <domain:renData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
	 xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd">
        <domain:name>test90nepp22.ote</domain:name>
        <domain:exDate>2024-04-11T22:00:00.000Z</domain:exDate>
	</domain:renData>
	</resData>
        <extension>
	   <fee:renData xmlns:fee="urn:ietf:params:xml:ns:epp:fee-1.0">
	   <fee:currency>USD</fee:currency>
           <fee:fee grace-period="P5D">1.00</fee:fee>
           <fee:balance>20246.39</fee:balance>
           <fee:creditLimit>0.00</fee:creditLimit>
           </fee:renData>
        </extension>
    <trID>
	<clTRID>ABC-12345</clTRID>
        <svTRID>1658914294415</svTRID>
    </trID>
  </response>
</epp>

EPP Restore

How do I Re-Activate a domain that is in a ‘pendingDelete’ state?

When a domain with a status of redemptionPeriod + pendingDelete is restored via EPP, the registrar must also submit a Restore Report. Upon receipt of a Report, the restrictive statuses will be removed. A restore request made via the web portal automatically appends the required Restore Report.

If no Restore Report is provided, the domain will have a new status - pendingRestore, the request will need to be manually approved by the registry administrator. A domain with a pendingRestore status will NOT be included the zone.

Note: Restore does not automatically renew a domain, depending on your client preferences, you may need to also submit a renew request. If an expired domain with a redemptionPeriod + pendingDelete status is restored but not renewed, the registry automation may set the status back to redemptionPeriod + pendingDelete status within 24 hours.

Restore request example

<?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>testdomain3.lab</domain:name>
            <domain:chg/>
         </domain:update>
      </update>
      <extension>
         <rgp:update xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0"
            <rgp:restore"request"/>
         </rgp:update>
      </extension>
      <clTRID>ABC-12345</clTRID>
   </command>
</epp>

Restore report example

<?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>testdomain3.lab</domain:name>
            <domain:chg/>
         </domain:update>
      </update>
      <extension>
         <rgp:update xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0">
            <rgp:restore op="report">
                <rgp:report>
                   <rgp:preData>Pre-delete registration data.</rgp:preData>
                   <rgp:postData>Post-restore registration data.</rgp:postData>
                   <rgp:delTime>2003-07-10T22:00:00.0Z</rgp:delTime>
                   <rgp:resTime>2003-07-20T22:00:00.0Z</rgp:resTime>
                   <rgp:resReason>Registrant error.</rgp:resReason>
                   <rgp:statement>This registrar has not restored ...</rgp:statement>
                   <rgp:statement>The information in this report is ...</rgp:statement>
                   <rgp:other>Supporting information ...</rgp:other>
                 </rgp:report>
            </rgp:restore>
         </rgp:update>
      </extension>
   </command>
</epp>