This page shows examples of EPP XML sequences between an EPP client and the EPP server.
Change history
- 2025-11-18: Domain-renew and Domain-create sequences revised, response now include exDate.
- 2025-04-11: Host update sequence corrected.
- 2023-05-16: A few minor corrections.
- 2021-08-24: The newest version of the applicant declaration (applicant dataset version) is now version 3.2, and must be used instead of the example value.
- 2019-12-10: The newest version of the applicant declaration (applicant dataset version) is now version 3.1, and must be used instead of the example value.
- 2018-08-07:
Updated three of the sequences to show use of the most recent personal declaration, version 3.0:- Domain create
- Domain info showing the created domain
- Domain update of applicant dataset only Please note that other examples may use version 2.0, but in practice, version 2.0 may be rejected. If that happens, use 3.0 instead.
- 2018-05-14:
Sequences for new data model is standard, and sequences for old model were removed. The number of sequences is therefore reduced.
The examples are mostly dumped via a Net::DRI command line client developed for .no, but for service messages, the web client for EPP and the client’s log function has also been used.
Please note: The sequences contain example data only. All texts are in English.
Host update
Host update:
Host update on an existing name server.
- Change the name server name.
- Delete the two ip-addresses and add two new ip-addresses.
- Change the host contact by deleting the current and adding another.
Note:
Since we specify an IP-address change, the transaction will go into
a pending state and be queued for a background DNS check. The DNS
check will be performed automatically within a few (5-10)
minutes. How long the check will take depends on how many
delegations that are using this name server.
Any host-info attempt will return the old values until the pending
situation is resolved, and the DNS check is successfully completed.
The result from the DNS check is returned in a separate
'late-reponse' service message which can be polled by the
registrar. The result of the DNS check, success or list of errors,
is contained in that service message.
Request:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<host:update xmlns:host="urn:ietf:params:xml:ns:host-1.0">
<host:name>ns1.ip-test.no</host:name>
<host:add>
<host:addr ip="v4">8.8.8.8</host:addr>
<host:addr ip="v4">9.9.9.9</host:addr>
</host:add>
<host:rem>
<host:addr ip="v4">1.2.3.5</host:addr>
<host:addr ip="v4">5.6.7.8</host:addr>
</host:rem>
<host:chg>
<host:name>ns1.ip-test-endret.no</host:name>
</host:chg>
</host:update>
</update>
<extension>
<no-ext-host:update xmlns:no-ext-host="http://www.norid.no/xsd/no-ext-host-1.0">
<no-ext-host:add>
<no-ext-host:contact>SH925R</no-ext-host:contact>
</no-ext-host:add>
<no-ext-host:rem>
<no-ext-host:contact>UH1986R</no-ext-host:contact>
</no-ext-host:rem>
</no-ext-host:update>
</extension>
<clTRID>NORID-EC1.25.4-1dece4-20250411130418-088230</clTRID>
</command>
</epp>
---
Response:
<?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">
<response>
<result code="1001">
<msg>Command completed successfully; action pending</msg>
</result>
<msgQ count="1" id="973908635"/>
<extension>
<conditions xmlns="http://www.norid.no/xsd/no-ext-result-1.0" xsi:schemaLocation="http://www.norid.no/xsd/no-ext-result-1.0 no-ext-result-1.0.xsd">
<condition code="EC001023" severity="info">
<msg>Ticket queued for DNS check</msg>
<details>The ticket has been queued for DNS check.</details>
</condition>
</conditions>
</extension>
<trID>
<clTRID>NORID-EC1.25.4-1dece4-20250411130418-088230</clTRID>
<svTRID>20250411150418557272-qerz7b-reg9094-NORID</svTRID>
</trID>
</response>
</epp>
---
Later, a service messages with result of the DNS check, successful in this case:
epp-late-response:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.norid.no/xsd/no-ext-result-1.0" xsi:schemaLocation="http://www.norid.no/xsd/no-ext-result-1.0 no-ext-result-1.0.xsd" type="epp-late-response">
<desc>EPP response to command with clTRID [NORID-EC1.25.4-1dece4-20250411130418-088230] and svTRID [20250411150418557272-qerz7b-reg9094-NORID]</desc>
<data>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" 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="973908635"/>
<extension>
<conditions xmlns="http://www.norid.no/xsd/no-ext-result-1.0" xsi:schemaLocation="http://www.norid.no/xsd/no-ext-result-1.0 no-ext-result-1.0.xsd">
<condition code="EC001024" severity="info">
<msg>Command completed</msg>
<details>Host [ns1.ip-test.no] has been updated.</details>
</condition>
</conditions>
</extension>
<trID>
<clTRID>NORID-EC1.25.4-1dece4-20250411130418-088230</clTRID>
<svTRID>20250411150418557272-qerz7b-reg9094-NORID</svTRID>
</trID>
</response>
</epp>
</data>
</message>
---