Metaregistrar EPP documentation

All domain commands: (check) (create) (delete) (info) (modify) (transfer) (renew) (undelete) (privacy) (autorenew)

Domain update

Updating a domain name involves, adding, changing or deleting information that is associated with the domain name. That is why the domain:update command allows for <add>, <chg> or <rem> elements. An example of all elements is found below.

Not all elements can be added or removed. For example a domain:registrant can only be changed, because it is a mandatory field and there is only one of it allowed.

In the <extension> part of the EPP command, <add>, <chg> and <rem> elements are allowed.

Example update request

To update a domain you use the update->domain:update command. Please refer to the XSD files to see which elements are allowed where. The following example has all the supported update elements and the DNSSEC parts.

<?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>test-update-domain-12345.com</domain:name> <domain:chg> <domain:registrant>MTR-0000000002</domain:registrant> </domain:chg> <domain:rem> <domain:status s="clientHold"></domain:status> <domain:contact type="admin">MTR-0000000002</domain:contact> <domain:ns> <domain:hostObj>ns2.metaregistrar.nl</domain:hostObj> </domain:ns> </domain:rem> <domain:add> <domain:status s="clientTransferProhibited"></domain:status> <domain:contact type="admin">MTR-0000000002</domain:contact> <domain:ns> <domain:hostObj>ns3.metaregistrar.com</domain:hostObj> </domain:ns> </domain:add> </domain:update> </update> <extension> <secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"> <secDNS:rem> <secDNS:keyData> <secDNS:flags>257</secDNS:flags> <secDNS:protocol>3</secDNS:protocol> <secDNS:alg>8</secDNS:alg> <secDNS:pubKey>old key</secDNS:pubKey> </secDNS:keyData> </secDNS:rem> <secDNS:add> <secDNS:keyData> <secDNS:flags>257</secDNS:flags> <secDNS:protocol>3</secDNS:protocol> <secDNS:alg>8</secDNS:alg> <secDNS:pubKey>new key</secDNS:pubKey> </secDNS:keyData> </secDNS:add> </secDNS:update> </extension> <clTRID>mtr-1234</clTRID> </command> </epp>

Example 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> <svTRID>MTR-asdfghjklasdfghjkl</svTRID> <clTRID>MTR-12345</clTRID> </trID> </response> </epp>

Example error

However an update may not be supported or something else might go wrong. In this case I mistyped the clientHold status as clientHolddd. In this case the error message contains 2 parts:"Parameter value range error" a semicolon and the second part which describes what is wrong. Other errors are possible. Please check the RFC for all possible errors.

<?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="2004"> <msg>Parameter value range error; Addition of clientHold status is not allowed</msg> </result> <trID> <svTRID>MTR-asdfghjklasdfghjkl</svTRID> <clTRID>MTR-12345</clTRID> </trID> </response> </epp>

Updating the auth code on a domain name

For some registries, the auth code of a domain name is only valid for a limited time period. For these registries, you can request our API to generate a new authcode by issuing a domain:update command with 'RESET' as authcode. Please find this in the following example. <?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"> <command> <update> <domain:update> <domain:name>documentationdomain.eu</domain:name> <domain:chg> <domain:authInfo> <domain:pw><![CDATA[RESET]]></domain:pw> </domain:authInfo> </domain:chg> </domain:update> </update> <clTRID>5a7c48c4ec13b</clTRID> </command> </epp>