Info contact[Link]

Purpose

to retrieve information associated with a contact object.

Registrars can optionally specify a version when using the command info-contact. By default, the command uses version 1.0. Version 2.0 returns additional information in case of a contact that is ‘on hold’ or flagged for a monitored update

The info contact command is composed according to the standard EPP syntax. Some components need further explanation:

  • <contact:id> is required. contains the contact for which you want to obtain the information.

  • <contact version=”2.0”/> is optional. When version 2.0 is specified, more information is visible in the answer.

  • <contact:pw> is optional. If the registrant (licensee) contact doesn’t belong to you, but you know the transfer code of the associated domain, then you can use the transfer code as authorization to view the details of the contact. This is provided so you can check the WHOIS details of the registrant before transferring the domain name.

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

Examples[Link]

A valid command would be:

<?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"
     xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"
     xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd
                urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd">
<command>
  <info>
    <contact:info>
      <contact:id>c16</contact:id>
    </contact:info>
  </info>
  <clTRID>clientref-00010</clTRID>
</command>
</epp>

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

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData>
      <contact:infData>
        <contact:id>c16</contact:id>
        <contact:roid>16-DNSBE</contact:roid>
        <contact:status s="ok"/>
        <contact:postalInfo type="loc">
          <contact:name>Smith Jonathan</contact:name>
          <contact:org>Great Company Inc.</contact:org>
          <contact:addr>
            <contact:street>Greenstreet 23</contact:street>
            <contact:city>Brussels</contact:city>
            <contact:pc>1000</contact:pc>
            <contact:cc>BE</contact:cc>
          </contact:addr>
        </contact:postalInfo>
        <contact:voice>+32.16229373</contact:voice>
        <contact:email>j.smith@greatcompanyinc.cctld</contact:email>
        <contact:clID>t1-dns-be</contact:clID>
        <contact:crID>t1-dns-be</contact:crID>
        <contact:crDate>2006-10-06T12:25:38.000Z</contact:crDate>
        <contact:upDate>2006-10-09T08:11:56.000Z</contact:upDate>
      </contact:infData>
    </resData>
    <extension>
      <dnsbe:ext>
        <dnsbe:infData>
          <dnsbe:contact>
            <dnsbe:type>licensee</dnsbe:type>
            <dnsbe:vat>BE 123 123 123</dnsbe:vat>
            <dnsbe:lang>nl</dnsbe:lang>
          </dnsbe:contact>
        </dnsbe:infData>
      </dnsbe:ext>
    </extension>
    <trID>
      <clTRID>clientref-00010</clTRID>
      <svTRID>dnsbe-0</svTRID>
    </trID>
  </response>
</epp>

The following information can be seen in the reply:

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

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

  • <contact:clID> Contains the identifier of the current ‘sponsoring client’ i.e. the registrar ID of the registrar that owns this contact object.

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

  • <contact:crDate> Contains the creation date and time in UTC time.

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

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

  • <svTRID> contains a server generated transaction ID.

A valid command using version 2.0 would be:

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
     xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"
     xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0">
  <command>
    <info>
      <contact:info>
        <contact:id>c434</contact:id>
    </contact:info>
    </info>
    <extension>
      <dnsbe:ext xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0">
        <dnsbe:info>
          <dnsbe:contact version="2.0"/>
        </dnsbe:info>
      </dnsbe:ext>
    </extension>
  <clTRID>info-contact-00</clTRID>
  </command>
</epp>

Aside from the contact information about the queried contact, the reply will now also contain information about the status of the monitored update and other DNS Belgium specific statusses:

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData>
      <contact:infData>
        <contact:id>c33</contact:id>
        <contact:roid>33-DNSBE</contact:roid>
        <contact:status s="ok"/>
        <contact:postalInfo type="loc">
          <contact:name>Orlov Yuri</contact:name>
          <contact:addr>
            <contact:street>Ubicenter</contact:street>
            <contact:street>Philipssite 5 bus 13</contact:street>
            <contact:city>Leuven</contact:city>
            <contact:pc>3001</contact:pc>
            <contact:cc>BE</contact:cc>
          </contact:addr>
        </contact:postalInfo>
        <contact:voice>+32.16229373</contact:voice>
        <contact:email>veerle@dns.be</contact:email>
        <contact:clID>t1-dns-be</contact:clID>
        <contact:crID>t1-dns-be</contact:crID>
        <contact:crDate>2006-10-11T08:07:38.000Z</contact:crDate>
        <contact:upDate>2008-04-01T09:14:00.000Z</contact:upDate>
      </contact:infData>
    </resData>
    <extension>
      <dnsbe:ext>
        <dnsbe:infData>
          <dnsbe:contact>
            <dnsbe:type>licensee</dnsbe:type>
            <dnsbe:lang>en</dnsbe:lang>
            <dnsbe:onhold>false</dnsbe:onhold>
            <dnsbe:verification>not verified</dnsbe:verification>
            <dnsbe:monitoringStatus>updatable</dnsbe:monitoringStatus>
          </dnsbe:contact>
        </dnsbe:infData>
      </dnsbe:ext>
    </extension>
    <trID>
      <clTRID>info-contact-02</clTRID>
      <svTRID>dnsbe-0</svTRID>
    </trID>
  </response>
</epp>

In this example, you see the contact is not ‘on hold’ and it has been enabled for a monitored update. The verification status of the contact is ‘not verified’.

The output contains some new fields:

  • <onhold> with possible values ‘true’ and ‘false’; ‘true’ indicates that the contact is on hold (an ADR or court case is pending for this domain name)

  • <verification> with possible values ‘not verified’, ‘pending’ and ‘approved’.

  • <monitoringStatus> with possible values ‘updatable’ and ‘approvalPending’. This field is only specified when a monitored update has been requested.

The appearance of a field in the output depends on the situation of the contact.

In case of a contact that is verification pending, more fields are visible in the output:

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData>
      <contact:infData>
        <contact:id>c23145796</contact:id>
        <contact:roid>23145796-DNSBE</contact:roid>
        <contact:status s="ok"/>
        <contact:postalInfo type="loc">
          <contact:name>anonymous</contact:name>
          <contact:org>anonymous</contact:org>
          <contact:addr>
            <contact:street>anonymous</contact:street>
            <contact:city>Leuven</contact:city>
            <contact:pc>3000</contact:pc>
            <contact:cc>BE</contact:cc>
          </contact:addr>
        </contact:postalInfo>
        <contact:voice>+32.1111222233</contact:voice>
        <contact:email>veerle@test.be</contact:email>
        <contact:clID>a003774</contact:clID>
        <contact:crID>a003774</contact:crID>
        <contact:crDate>2020-08-03T07:23:17.000Z</contact:crDate>
        <contact:upDate>2020-08-26T07:59:09.000Z</contact:upDate>
      </contact:infData>
    </resData>
    <extension>
      <dnsbe:ext>
        <dnsbe:infData>
          <dnsbe:contact>
            <dnsbe:type>licensee</dnsbe:type>
            <dnsbe:lang>nl</dnsbe:lang>
            <dnsbe:onhold>false</dnsbe:onhold>
            <dnsbe:verification>pending</dnsbe:verification>
            <dnsbe:verificationurl>https://www.dnsbelgium.be/en/verification#token=e23e9e28-c404-483a-9a38-f43bf6a5b399</dnsbe:verificationurl> 
            <dnsbe:verificationtype>AUTO</dnsbe:verificationtype>
          </dnsbe:contact>
        </dnsbe:infData>
      </dnsbe:ext>
    </extension>
    <trID>
      <clTRID>info-contact-00</clTRID>
      <svTRID>dnsbe-0</svTRID>
    </trID>
  </response>
</epp>

A valid command using the transfer code would be:

<?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>c33</contact:id>
    <contact:authInfo>
      <contact:pw>156-028-382-047-710</contact:pw>
    </contact:authInfo>
   </contact:info>
  </info>
  <clTRID>info-contact-00</clTRID>
 </command>
</epp>

If the contact exists (and the authcode is correct), the EPP server responds with the contact information.