# 14 Domains API: How to transfer a domain

*This is a series of articles dedicated to demonstrating how to get acquainted with Openprovider Domains API methods.*

*This is a first article in a series in which we are going to cover **incoming domain transfer**. To get more information about our API in general, please use our [documentation portal](https://doc.openprovider.eu) as your reference.*

Domain transfer is a procedure of changing the current registrar of a domain name.

Once a transfer has been made, Openprovider will maintain all relevant information regarding the domain and its owner.

Before starting a transfer, please make sure you have the approval of the owner of the domain name and that the current registrar is aware of your desire to transfer that object.

![Entering Geo Fence icon](https://openprovider.help/uploads/images/gallery/2026-08/embedded-image-3irvilec.png)<span>Use endpoint path below. Base URL is determined by both the target environment and API version.  
</span>

```
<span><strong>POST</strong> <a href="http://docs.openprovider.com/#operation/ListProducts"><strong>{base_url}</strong></a>/domains/transfer</span>
```

<div id="bkmrk-request-values-name-"><details><summary>REQUEST VALUES</summary>

<table><tbody><tr><td>**<span>Name</span>**</td><td>**<span>Type</span>**</td><td>**<span>Description</span>**</td></tr><tr><td>name</td><td>string</td><td>**Required.**</td></tr><tr><td>period</td><td>integer</td><td>**Required.**</td></tr><tr><td>auth\_code</td><td>varchar</td><td>Optional.</td></tr><tr><td>owner\_handle</td><td>varchar</td><td>**Required.**</td></tr><tr><td>admin\_handle</td><td>varchar</td><td>**Required.**</td></tr><tr><td>tech\_handle</td><td>varchar</td><td>**Required.**</td></tr><tr><td>billing\_handle</td><td>varchar</td><td>Optional.</td></tr><tr><td>reseller\_handle</td><td>varchar</td><td>Optional.</td></tr><tr><td>ns\_group</td><td>string</td><td>**Required.**</td></tr><tr><td><span>ns\_template\_name</span></td><td>string</td><td>Optional. N<span>ame of the template to use to automatically create DNS zone for the domain; only applicable if nsGroup is </span>*dns-openprovider*</td></tr><tr><td>name\_servers</td><td>dot separated integer</td><td>**Required** if only if nsGroup field is empty</td></tr><tr><td>autorenew</td><td>custom</td><td>*on | off | default* </td></tr><tr><td><span>is\_dnssec\_enabled</span></td><td>boolean</td><td>false (default) or true - Only accepted when nameservers of Openprovider are used</td></tr><tr><td>dnssec\_keys</td><td>varchar</td><td>when using your own nameservers</td></tr><tr><td>use\_domicile</td><td>boolean</td><td>false (default) or true</td></tr><tr><td><span>accept\_premium\_fee</span></td><td>int or double</td><td>Required in case when domain is premium, value is the price returned in the response for createDomainRequest without acceptPremiumFee</td></tr><tr><td>is\_private\_whois\_enabled </td><td>boolean</td><td>false (default) or true</td></tr><tr><td><span>promo\_code</span></td><td>string</td></tr><tr><td>comments</td><td>string</td><td>Optional. Domain comments/notes</td></tr><tr><td>additional\_data </td><td>custom</td><td><span>mandatory for some TLDs</span></td></tr><tr><td>application\_mode</td><td>custom</td><td><span>required for new gTLDs</span></td></tr><tr><td>import\_contacts\_from\_registry</td><td>boolean</td><td><span>Optional. Default value: false. Available for .nl and .ie transfers to import domain contacts from registry.</span></td></tr><tr><td>import\_nameservers\_from\_registry</td><td>boolean</td><td><span>Optional. Default value: false. Available for .nl and .ie transfers to import nameservers from registry.</span></td></tr></tbody></table>

</details></div><div id="bkmrk-request-examplecurl-"><details><summary>REQUEST EXAMPLE</summary>

```
curl -X POST \<br></br> https://api.openprovider.eu/v1beta/domains/transfer \<br></br> -H 'Authorization: ,Bearer 2f4c1c3a9******15d22b378a64' \<br></br> -H 'Content-Type: application/json' \<br></br><br></br> -d '{<br></br>"admin_handle": "XX123456-XX",<br></br>"auth_code": "gX38tslFG2#%F%%1",<br></br>"autorenew": "default",<br></br>"domain": {<br></br>"extension": "com",<br></br>"name": "domain",<br></br>},<br></br>"ns_group": "dns-openprovider",<br></br>"owner_handle": "RB919364-BE",<br></br>"period": 1,<br></br>"promo_code": "",<br></br>"tech_handle": "XX123456-XX",<br></br>}
```

</details></div><div id="bkmrk-response-example%7B-%22c"><details><summary>RESPONSE EXAMPLE</summary>

```
{<br></br> "code": 0,<br></br> "data": {<br></br> "auth_code": "Z79******sTaH",<br></br> "expiration_date": "2020-03-31 23:59:59",<br></br> "renewal_date": "2020-03-29 23:59:59",<br></br> "status": "ACT",<br></br> },<br></br> "desc": ""<br></br>}
```

</details></div><div id="bkmrk-response-values-name"><details><summary>RESPONSE VALUES</summary>

<table><tbody><tr><td>**<span>Name</span>**</td><td>**<span>Type</span>**</td><td>**<span>Description</span>**</td></tr><tr><td>[expiration\_date](https://doc.openprovider.eu/API_Format_expirationDate)</td><td>timestamp</td><td>available only in case of a successful realtime domain transfer</td></tr><tr><td>[expiration\_date\_openprovider](https://doc.openprovider.eu/API_Format_Period)</td><td>timestamp</td><td>available only in case of a successful realtime domain transfer</td></tr></tbody></table>

</details></div><span>The 0 code that we received indicates that the domain object has been successfully created in Openprovider's database.</span>

<span>Afterwards, the transfer will be initiated at the registry level and the domain will be put in "pendingTransfer" status. The previous registrar should release the domain within up to 5-7 days. Unless they take any actions to prevent the transfer, it will be approved automatically.</span>

<span>Check the TLD documentation for the domain in question in order to see what the procedures are. Our documentation also tells you how long a transfer can take. This can range from near an instant to over a month.</span>

<span>When the procedure is over, you will receive a corresponding notification to the email address associated with your Openprovider account. Depending on a TLD, the domain will be renewed for one year and its status will automatically be set to 'clientTransferProhibited' ("Lock domain" will be enabled).</span>