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 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 iconUse endpoint path below. Base URL is determined by both the target environment and API version.

POST {base_url}/domains/transfer


Name Type Description
name string Required.
period integer Required.
auth_code varchar Optional.
owner_handle varchar Required.
admin_handle varchar Required.
tech_handle varchar Required.
billing_handle varchar Optional.
reseller_handle varchar Optional.
ns_group string Required.
ns_template_name string Optional. Name of the template to use to automatically create DNS zone for the domain; only applicable if nsGroup is dns-openprovider
name_servers dot separated integer Required if only if nsGroup field is empty
autorenew custom on | off | default
is_dnssec_enabled boolean 0 (default) or 1 - Only accepted when nameservers of Openprovider are used
dnssec_keys varchar when using your own nameservers
use_domicile boolean 0 or 1
accept_premium_fee int or double Required in case when domain is premium, value is the price returned in the response for createDomainRequest without acceptPremiumFee
is_private_whois_enabled boolean default value is 0
promo_code string  
comments string  
additional_data custom mandatory for some TLDs
application_mode custom required for new gTLDs


curl -X POST \
https://api.openprovider.eu/v1beta/domains/transfer \
-H 'Authorization: ,Bearer 2f4c1c3a9******15d22b378a64' \
-H 'Content-Type: application/json' \

-d '{
"admin_handle": "XX123456-XX",
"auth_code": "gX38tslFG2#%F%%1",
"autorenew": "default",
"domain": {
"extension": "com",
"name": "domain",
"ns_group": "dns-openprovider",
"owner_handle": "RB919364-BE",
"period": 1,
"promo_code": "",
"tech_handle": "XX123456-XX",


"code": 0,
"data": {
"auth_code": "Z79******sTaH",
"expiration_date": "2020-03-31 23:59:59",
"renewal_date": "2020-03-29 23:59:59",
"status": "ACT",
"desc": ""


Name Type Description
expiration_date timestamp available only in case of a successful realtime domain transfer
expiration_date_openprovider timestamp available only in case of a successful realtime domain transfer

The 0 code that we received indicates that the domain object has been successfully created in Openprovider's database.

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.

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.

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).

Was this article helpful?
Additional questions? Submit a request