---
title: "Extending domain registration period"
url: "https://help.internetx.com/en/api/epp-extending-domain-registration-period/"
lang: "en"
section: "API reference — EPP API"
breadcrumb: "EPP API guides"
updated: "2023-09-27"
---

# Extending domain registration period

Complete automation of the extension of the duration of a domain. This action requires two steps, retrieving the domain data to determine the expiration date and extending the domain duration with the expiration date.

## Inquiring domain information

The required expiration date is queried via the _DomainInfo_ command. It is contained in the exDate tag in the system response.

```
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
    <command>
        <info>
            <domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
                <domain:name hosts="all">domain.com</domain:name>
            </domain:info>
        </info>
        <clTRID>ABC-12345</clTRID>
    </command>
</epp>
```

```
<epp xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
    <response>
        <result code="1000">
            <msg lang="en">Command completed successfully</msg>
        </result>
        <resData>
            <domain:infData>
                <domain:name>domain.com</domain:name>
                <domain:roid>11109997-domain.com</domain:roid>
                <domain:registrant>23022508</domain:registrant>
                <domain:contact type="admin">23022508</domain:contact>
                <domain:contact type="tech">23022508</domain:contact>
                <domain:ns>
                    <domain:hostAttr>
                        <domain:hostName>ns1.nameserver.com</domain:hostName>
                    </domain:hostAttr>
                    <domain:hostAttr>
                        <domain:hostName>ns2.nameserver.com</domain:hostName>
                    </domain:hostAttr>
                </domain:ns>
                <domain:clID>user1, 4</domain:clID>
                <domain:crID>user1, 4</domain:crID>
                <domain:crDate>2017-07-31T14:44:41.000Z</domain:crDate>
                <domain:upID>user1, 4</domain:upID>
                <domain:upDate>2017-07-31T09:06:49.000Z</domain:upDate>
                <domain:exDate>2018-07-31T14:44:41.000Z</domain:exDate>
                <domain:authInfo>
                    <domain:pw>123ABC456DEF</domain:pw>
                </domain:authInfo>
            </domain:infData>
        </resData>
        <extension>
            <domainrobot:domain xmlns:domainrobot="urn:org:domainrobot:ns:ext-1.0">
                <domainrobot:zonec>23022508</domainrobot:zonec>
                <domainrobot:trustee>0</domainrobot:trustee>
                <domainrobot:privacy>0</domainrobot:privacy>
            </domainrobot:domain>
        </extension>
        <trID>
            <clTRID>ABC-12345</clTRID>
        </trID>
    </response>
</epp>
```

## Extending domain registration period

The registration period of a domain can be extended with the _DomainRenew_ command. The length of the renew is set with the period tag. In the tag `curExpDate` the value from `exDate` is set.

The possible registration periods that can be used for a _DomainRenew_ depend on the TLD.

By setting a `clTRID`, the poll message for this request can be assigned. In this example `<clTRID>EXAMPLE-123456789</clTRID>` is used.

```
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
    <command>
        <renew>
            <domain:renew xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
                <domain:name>domain.com</domain:name>
                <domain:curExpDate>2020-05-22</domain:curExpDate>
                <domain:period unit="y">0</domain:period>
            </domain:renew>
        </renew>
        <clTRID>EXAMPLE-123456789</clTRID>
    </command>
</epp>
```

```
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
    <response>
        <result code="1001">
            <msg lang="en">Command completed successfully; action pending</msg>
        </result>
        <resData>
            <domain:renData>
                <domain:name>domain.com</domain:name>
            </domain:renData>
        </resData>
        <extension />
        <trID>
            <clTRID>EXAMPLE-123456789</clTRID>
        </trID>
    </response>
</epp>
```

## Inquiring and confirming poll messages (poll info and poll confirm)

The _DomainRenew_ command automatically generates a job that takes care of the renewal process. As soon as the job is finished, a poll message is generated that can be inquired with the _PollInfo_ command.

```
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
	<command>
		<poll op="req" />
		<clTRID>ABC-12345</clTRID>
	</command>
</epp>
```

```
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
	<response>
		<result code="1301">
			<msg lang="en">Command completed successfully; ack to dequeue</msg>
		</result>
		<msgQ count="2" id="880178">
			<qDate>2017-07-14T06:52:19.000Z</qDate>
			<msg>Message text</msg>
		</msgQ>
		<resData>
			<!--  See polling section for different message results -->
		</resData>
		<trID>
			<clTRID>1cb47efe-2ab3-4769-b0cb-3252af528095</clTRID>
			<svTRID>20170714-app2-dev-10055</svTRID>
		</trID>
	</response>
</epp>
```

In order to assign a poll message to a domain registration, a `clTRID` (ClientTransactionId) can be used for which the following is important:

`**<clTRID>EXAMPLE-123456789</clTRID>**`

  
The returned `clTRID` is the same as the one that was used for the previous _DomainCreate_ command. The polling system works under the first-in-first-out (FIFO) principle. The poll message is therefore returned until it is confirmed. To confirm a poll message with the _PollConfirm_ request, the **ID** from the previous command is required.

```
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
	<command>
		<poll op="ack" msgID="627787" />
		<clTRID>ABC-12346</clTRID>
	</command>
</epp>
```

```
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
    <response>
        <result code="1000">
            <msg lang="en">Command completed successfully</msg>
        </result>
        <msgQ count="0" id="627787" />
        <trID>
            <clTRID>ABC-12346</clTRID>
        </trID>
    </response>
</epp>
```
