Organisation objects and commands

We will be introducing Organisation objects defined in RFC8543 and the related extension RFC8544 in the second testbed release for the .UK transition but we plan to support them more widely across our registries in the future. Role values for organisation objects are defined within the IANA Extensible Provisioning Protocol (EPP) Organization Role Values registry.

We will initially support registrars creating organisations with one or more of the following roles:

  1. reseller – to link domains, hosts and contacts to reseller accounts.
  2. privacyproxy – for identifying data related to proxy providers.

We will display the data in RESELLER and PRIVACYPROXY objects on the RDAP output for the registry for domains utilising them.

Resellers

Where a domain, host or contact object is created by a reseller the object should be linked by a registrar with RFC8544 to the reseller organisation object so that appropriate reseller information will be displayed on the Registration Data Directory Services output. This will enable a wholesale registrar to identify which reseller has the rights to make requests in relation to the domain and to ensure we can publish reseller contact details within the RDDS.

Please note resellers are bespoke per registrar and the transition of a domain between registrars will result in the reseller being removed from related domains and sub-ordinate hosts, and the newly cloned contact object will not retain the reseller link.

Proxy Providers

To comply with a need to identify contact data belonging to a proxy provider rather than an underlying registrant or other contact, registrars should link only the contact object to a proxy provider; this ensures we have clarity that the data held within the contact object is not the true beneficiary but a proxy on their behalf.

Organisation Object

An organisation object is made up of the following data points, further details can be found in RFC8543:

FieldDescriptionVisible to non-sponsoring registrar without Transfer Authorisation code when not publicly disclosed by policy or disclosure fields?
org:idThe unique organisation EPP ID which will be used to link the organisation object to other objects.Yes
org:roidThe unique repository object identifier, over time, for the organisation object.Yes
org:roleRoles the organisation holds and includes:
org:type
org:status
org:roleID
Yes, for organisation types “reseller” and “privacyproxy” as they are intended to be public information.
org:statusThe status of the object – i.e. if it is linked.Yes, for organisation types “reseller” and “privacyproxy” as they are intended to be public information.
org:parentIDYes, for organisation types “reseller” and “privacyproxy” as they are intended to be public information.
org:postalInfoThe postal address of the organisation.Yes, for organisation types “reseller” and “privacyproxy” as they are intended to be public information.
org:voiceThe telephone number of the organisation.Yes, for organisation types “reseller” and “privacyproxy” as they are intended to be public information.
org:faxFax number of the organisation.Yes, for organisation types “reseller” and “privacyproxy” as they are intended to be public information.
org:emailEmail address of the organisation.Yes, for organisation types “reseller” and “privacyproxy” as they are intended to be public information.
org:urlThe URL for the organisation.Yes, for organisation types “reseller” and “privacyproxy” as they are intended to be public information.
org:contactContacts for the organisationYes, for organisation types “reseller” and “privacyproxy” as they are intended to be public information.
org:clIDThe EPP login ID that controls the organisation object.Yes
org:crIDThe EPP login ID for that created the organisation object.Yes
org:crDateThe create date of the organisation.Yes
org:upIDThe EPP login ID for that updated the organisation object.Yes
org:upDateThe update date of the organisation.Yes

Organisation commands

CHECK

The org:check command can check for availability of one or more organisation IDs at the same time.ó

An example check command:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
     <command>
       <check>
         <org:check
           xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0">
           <org:id>reseller123</org:id>
           <org:id>reseller456</org:id>
         </org:check>
       </check>
       <clTRID>ABC-12345</clTRID>
     </command>
   </epp>

An example check response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
        <resData>
            <org:chkData xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0">
                <org:cd>
                    <org:id avail="false">reseller123</org:id>
                </org:cd>
                <org:cd>
                    <org:id avail="true">reseller456</org:id>
                </org:cd>
            </org:chkData>
        </resData>
        <trID>
            <clTRID>ABC-12345</clTRID>
            <svTRID>1950426811540181145</svTRID>
        </trID>
    </response>
</epp>

CREATE

The org:create command creates a new organisation object if the org:id is available.

An example create command:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
            <org:create xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0">
                <org:id>reseller987</org:id>
                <org:role>
                    <org:type>reseller</org:type>
                </org:role>
                <org:postalInfo type="int">
                    <org:name>Test Org 123</org:name>
                    <org:addr>
                        <org:street>123 Example Street</org:street>
                        <org:city>Oxford</org:city>
                        <org:pc>OX4 5AD</org:pc>
                        <org:cc>GB</org:cc>
                    </org:addr>
                </org:postalInfo>
                <org:postalInfo type="loc">
                    <org:name>Test Org 123</org:name>
                    <org:addr>
                        <org:street>123 Example Street</org:street>
                        <org:city>Oxford</org:city>
                        <org:pc>OX4 5AD</org:pc>
                        <org:cc>GB</org:cc>
                    </org:addr>
                </org:postalInfo>
                <org:voice x="1234">+1.3467945014</org:voice>
                <org:fax x="6666">+1.5467945015</org:fax>
                <org:email>[email protected]</org:email>
                <org:url>https://organization.example</org:url>
                <org:contact type="billing">billing123</org:contact>
                <org:contact type="admin">admin123</org:contact>
            </org:create>
        </create>
        <clTRID>c4787c31-6c73-4751-b4ea-26875083c432</clTRID>
    </command>
</epp>

An example successful create response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
        <resData>
            <org:creData xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0">
                <org:id>reseller123</org:id>
                <org:crDate>2026-03-11T11:55:18.664Z</org:crDate>
            </org:creData>
        </resData>
        <trID>
            <clTRID>c4787c31-6c73-4751-b4ea-26875083c432</clTRID>
            <svTRID>1950427774535602331</svTRID>
        </trID>
    </response>
</epp>

INFO

The org:info command returns information about the organisation object for a given org:id.

An example info command:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
     <command>
       <info>
         <org:info
           xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0">
           <org:id>reseller987</org:id>
         </org:info>
       </info>
       <clTRID>ABC-12345</clTRID>
     </command>
   </epp>

An example info response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
        <resData>
            <org:infData xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0">
                <org:id>reseller987</org:id>
                <org:roid>reseller987-QXJ7djsu</org:roid>
                <org:role>
                    <org:type>reseller</org:type>
                </org:role>
                <org:status>ok</org:status>
                <org:postalInfo type="int">
                    <org:name>Test Org 123</org:name>
                    <org:addr>
                        <org:street>123 Example Street</org:street>
                        <org:city>Oxford</org:city>
                        <org:pc>OX4 5AD</org:pc>
                        <org:cc>GB</org:cc>
                    </org:addr>
                </org:postalInfo>
                <org:postalInfo type="loc">
                    <org:name>Test Org 123</org:name>
                    <org:addr>
                        <org:street>123 Example Street</org:street>
                        <org:city>Oxford</org:city>
                        <org:pc>OX4 5AD</org:pc>
                        <org:cc>GB</org:cc>
                    </org:addr>
                </org:postalInfo>
                <org:voice x="1234">+1.3467945014</org:voice>
                <org:fax x="6666">+1.5467945015</org:fax>
                <org:email>[email protected]</org:email>
                <org:url>https://organization.example</org:url>
                <org:clID>15681</org:clID>
                <org:crID>15681</org:crID>
                <org:crDate>2026-03-11T11:59:01.178853Z</org:crDate>
                <org:upID>15681</org:upID>
                <org:upDate>2026-03-11T17:20:06.122574Z</org:upDate>
            </org:infData>
        </resData>
        <trID>
            <clTRID>ABC-12345</clTRID>
            <svTRID>1950457457721479375</svTRID>
        </trID>
    </response>
</epp>

UPDATE

The org:update command allows updates to certain fields to be made to an organisation object.

An example update command:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
     <command>
       <update>
         <org:update
           xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0">
           <org:id>reseller987</org:id>
           <org:add>
             <org:role>
               <org:type>privacyproxy</org:type>
             </org:role>
           </org:add>
           <org:rem>
             <org:role>
              <org:type>reseller</org:type>
            </org:role>
           </org:rem>
           <org:chg>
              <org:postalInfo type="loc">
                  <org:name>Privacy Proxy 123</org:name>
              </org:postalInfo>
           </org:chg>
         </org:update>
       </update>
       <clTRID>ABC-12345</clTRID>
     </command>
   </epp>

An example successful update response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
        <resData>
            <org:update xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0">
                <org:id>reseller987</org:id>
            </org:update>
        </resData>
        <trID>
            <clTRID>ABC-12345</clTRID>
            <svTRID>1950496869457072456</svTRID>
        </trID>
    </response>
</epp>

Below are organisation data points and whether they can be added, removed or changed with the respective commands.

org:addorg:remorg:chgComments
role
type
YesYesNo
role
status
Not currently supportedNot currently supportedNoWe do not currently support role statuses. Attempts to add or remove this value, or the inclusion of it in an org:create command, will result in an error.
statusNo additional statuses currently supportedNo additional statuses currently supportedNoWe do not currently support any org statuses other than “ok”.
contactNot currently supportedNot currently supportedNoContacts are not currently supported. Attempts to add them may not error, but no data submitted for this data point will be saved.
parentIdNoNoNot currently supported
postalInfo
name
addr
street
city
sp
pc
cc
NoNoYes
voiceNoNoYes
faxNoNoYes
emailNoNoYes
urlNoNoYes

CONTACTS

CREATE

INFO

UPDATE

HOSTS

CREATE

An example create host command with organisation extension:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
     <command>
       <create>
         <host:create
          xmlns:host="urn:ietf:params:xml:ns:host-1.0">
           <host:name>ns9876.testexamplens123.com</host:name>
           <host:addr ip="v4">192.0.2.2</host:addr>
           <host:addr ip="v4">192.0.2.29</host:addr>
           <host:addr ip="v6">1080:0:0:0:8:800:200C:417A</host:addr>
         </host:create>
       </create>
       <extension>
        <orgext:create
           xmlns:orgext="urn:ietf:params:xml:ns:epp:orgext-1.0">
           <orgext:id role="reseller">reseller9876</orgext:id>
           <orgext:id role="privacyproxy">privacyproxy9876</orgext:id>
         </orgext:create>
       </extension>
       <clTRID>ABC-12345</clTRID>
     </command>
   </epp>

An example successful create host response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
        <resData>
            <host:creData xmlns:host="urn:ietf:params:xml:ns:host-1.0">
                <host:name>ns9876.testexamplens123.com</host:name>
                <host:crDate>2026-03-30T11:20:02.976Z</host:crDate>
            </host:creData>
        </resData>
        <trID>
            <clTRID>ABC-12345</clTRID>
            <svTRID>1957304270202084801</svTRID>
        </trID>
    </response>
</epp>

INFO

Example command:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
    <command>
      <info>
         <host:info xmlns:host="urn:ietf:params:xml:ns:host-1.0">
           <host:name>ns9876.testexamplens123.com</host:name>
         </host:info>
      </info>
      <clTRID>ABC-12346</clTRID>
    </command>
  </epp>

Example response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
        <resData>
            <host:infData xmlns:host="urn:ietf:params:xml:ns:host-1.0">
                <host:name>ns9876.testexamplens123.com</host:name>
                <host:roid>H42217456-UK</host:roid>
                <host:status s="ok"/>
                <host:clID>nom_monitor</host:clID>
                <host:crID>nom_monitor</host:crID>
                <host:crDate>2026-03-30T11:20:02.976Z</host:crDate>
            </host:infData>
        </resData>
        <extension>
            <orgext:infData xmlns:orgext="urn:ietf:params:xml:ns:epp:orgext-1.0"/>
        </extension>
        <trID>
            <clTRID>ABC-12346</clTRID>
            <svTRID>1957305569345805765</svTRID>
        </trID>
    </response>
</epp>

UPDATE

DOMAINS

CREATE

INFO

UPDATE

Minerva House, Edmund Halley Road, Oxford Science Park, OX4 4DQ, United Kingdom