API documentation
This ELITEDOMAINS API allows you to interact with ELITEDOMAINS through a simple REST API. For using, please contact our support team. We will promote your account to use the API feature. As soon as you are activated you can manage personal access tokens in your account settings. Please also take a look at the Frequently Asked Questions for the API.
In order to use the API, you should authenticate your request by including a personal access token as a bearer token value:
Authorization: Bearer {token}
Make sure the following content type headers are set on every request:
Accept: application/json
All names are utf-8 encoded. No punycode representation required.
By default, the limit for requests is set for each user:
Please note: during droptime between 2:00 and 4:00am your maximum requests will be reduced to 10%
If you exceed the limit you will receive a HTTP Response Code 429 Too Many Requests.
You may use the following parameters from the response header to adjust your scripts accordingly.
Header | Example | Description |
X-RateLimit-Limit | 100 | The maximum number of requests you're permitted to make per minute. |
X-RateLimit-Remaining | 98 | The number of requests remaining in the current rate limit window. |
Retry-After | 35 | The number of seconds to wait before the next request. |
X-RateLimit-Reset | 1662764773 | The time at which the current rate limit window resets in UTC epoch seconds |
The base URI is https://api.elitedomains.de
Lists all domains in your account. Paginated by 500 objects per call.
GET /domains
Name | Value | Required | Description |
page | 1 | no | Number of paginated page |
Name | Example value | Description |
current_page | 1 | Current page number of paginated results |
per_page | 500 | The number of items to be shown per page |
path | https://api.elitedomains.de/domains | API Call for this order type |
first_page_url | https://api.elitedomains.de/domains?page=1 | URL for the first page |
next_page_url | https://api.elitedomains.de/domains?page=2 | URL for the next page |
prev_page_url | null | URL of the previous page |
from | 1 | Number of the first object in current result |
to | 500 | Number of the last object in current result |
data | {...} | Collection of domain objects. Default sorting: created_at descending |
Registers or transfers new domains. Domains will be created using the default redirector and handle configuration as set in your accounts advanced settings.
POST /domains
Name | Value | Required | Description |
name | example.de | yes | domain name |
authinfo | E-Hc$f3xx | no | Authinfo code to transfer domains from other providers to ELITEDOMAINS |
handle_id | 123 | no | ID of a handle object to set the handle for the domain registration. If not set, this will use the default handle for your account. |
redirector_settings | no | Redirector settings object (optional) |
Name | Value | Description |
message | Domain created | |
name | example.de |
HTTP Code | Message | Description |
400 | Domain name is missing | name parameter is missing or empty |
400 | Domain name is invalid | Domain name could not be validated |
400 | Default handle in your accounts advanced settings required | |
400 | Authcode invalid | |
403 | {variable messages} | The request was rejected by DENIC. See message for further information |
409 | Domain already registered | |
409 | Domain already in your account |
Updates a single Domain.
PATCH /domains
Name | Value | Required | Description |
name | example.de | yes | domain name |
redirector_settings | no | ||
handle_id | 1234 | no | ID of the handle object to update the handle |
Name | Value | Description |
message | Domain updated |
HTTP Code | Message | Description |
400 | Domain name is missing | name parameter is missing or empty |
400 | {variable messages} | Validation error. See message for further information |
404 | Domain not found |
Deletes a single Domain.
DELETE /domains
Name | Value | Required | Description |
name | example.de | yes | domain name |
Name | Value | Description |
message | Domain deleted | |
name | example.de |
HTTP Code | Message | Description |
400 | Domain name is missing | name parameter is missing or empty |
403 | {variable messages} | The request was rejected by DENIC. See message for further information |
404 | Domain not found |
Puts a single Domain into DENIC Transit state. The DENIC transit state is a temporary status for .de domains in which the registrar no longer manages them. During this phase, the domain remains registered to the owner, who must either transfer it to a new registrar or cancel it before DENIC eventually deletes it.
DELETE /domains
Name | Value | Required | Description |
name | example.de | yes | domain name |
transit | 1 | yes | needs to be set to 1 in order to put a domain into Transit state |
Name | Value | Description |
message | Domain put into transit | |
name | example.de |
HTTP Code | Message | Description |
400 | Domain name is missing | name parameter is missing or empty |
403 | {variable messages} | The request was rejected by DENIC. See message for further information |
404 | Domain not found |
Returns the AuthInfo Code of the domain. If there is no AuthInfo Code set, a new one will be generated and returned.
GET /domains/authinfo
Name | Value | Required | Description |
name | example.de | yes | domain name |
Name | Value | Description |
message | Authcode exists/created | |
name | example.de | |
authinfo | E-Hc$f3xx | |
expires_at | 2018-10-07 21:34:35 |
HTTP Code | Message | Description |
400 | Domain name is missing | name parameter is missing or empty |
403 | {variable messages} | The request was rejected by DENIC. See message for further information |
404 | Domain not found |
Lists all catcher orders in your account. Paginated by 500 objects per call.
GET /catcher
Name | Value | Required | Description |
page | 1 | no | Number of paginated page |
Name | Example value | Description |
current_page | 1 | Current page number of paginated results |
per_page | 500 | The number of items to be shown per page |
path | https://api.elitedomains.de/catcher | API Call for this order type |
first_page_url | https://api.elitedomains.de/catcher?page=1 | URL for the first page |
next_page_url | https://api.elitedomains.de/catcher?page=2 | URL for the next page |
prev_page_url | null | URL of the previous page |
from | 1 | Number of the first object in current result |
to | 500 | Number of the last object in current result |
data | {...} | Collection of catcher objects. Default sorting: created_at descending |
Add new domains to our RGP Catcher. Successfully catched domains will be registered using the default redirector and handle configuration as set in your accounts advanced settings.
During droptime between 2 and 4 am it is not possible to insert new orders.
POST /catcher
Name | Value | Required | Description |
name | example.de | yes | domain name |
price | 10 | no | price, default 2 |
Name | Value | Description |
message | Domain added to catcher | |
name | example.de |
HTTP Code | Message | Description |
400 | Domain name is missing | name parameter is missing or empty |
400 | Domain name is invalid | Domain name could not be validated |
400 | Default handle in your accounts advanced settings required | |
405 | Catcher Create not possible between 2:00 and 4:00am | |
409 | Domain already added to catcher |
Deletes a single Catcher order.
During droptime between 2:00 and 4:00am it is not possible to delete orders.
DELETE /catcher
Name | Value | Required | Description |
name | example.de | yes | domain name |
Name | Value | Description |
message | Domain deleted | |
name | example.de |
HTTP Code | Message | Description |
400 | Domain name is missing | name parameter is missing or empty |
404 | Domain not found | |
405 | Catcher Delete not possible between 2:00 and 4:00am |
Lists all handles in your account. Paginated by 500 objects per call.
GET /handles
Name | Value | Required | Description |
page | 1 | no | Number of paginated page |
Name | Example value | Description |
current_page | 1 | Current page number of paginated results |
per_page | 500 | The number of items to be shown per page |
path | https://api.elitedomains.de/handles | API Call for this order type |
first_page_url | https://api.elitedomains.de/handles?page=1 | URL for the first page |
next_page_url | https://api.elitedomains.de/handles?page=2 | URL for the next page |
prev_page_url | null | URL of the previous page |
from | 1 | Number of the first object in current result |
to | 500 | Number of the last object in current result |
data | {...} | Collection of handle objects. Default sorting: created_at descending |
Add a new handle to your account.
POST /handles
Name | Value | Description |
alias | JohnPrivate | internal alias, used in listings |
type | PERSON | PERSON and ORG allowed |
handle_name | John Doe | name for the handle. in case of type=ORG, use the full company name, eg. ELITEDOMAINS GmbH |
street_name | Unter den Linden | name of street without house number |
street_number | 12 | house number |
postalcode | 12345 | postal code |
city | Berlin | city |
country_iso | DE | country ISO 3166-2 code |
john@example.com | email address | |
phone | +49.16094751251 | phone number in EEP format |
general_request | general@example.com | general request contact |
abuse_contact | abuse@example.com | abuse contact |
Name | Value | Description |
{...} | {...} | handle object that has been created |
HTTP Code | Message | Description |
400 | … muss ausgefüllt sein. | Validation error |
Updates handle data. All parameters are optional. Just pass parameters you would like to update. ID can be found in Hande Listing.
PATCH /handles/{id}
Name | Value | Description |
alias | JohnPrivate | internal alias, used in listings |
street_name | Unter den Linden | name of street without house number |
street_number | 12 | house number |
postalcode | 12345 | postal code |
city | Berlin | city |
country_iso | DE | country ISO 3166-2 code |
john@example.com | email address | |
phone | +49.16094751251 | phone number in EEP format |
general_request | general@example.com | general request contact |
abuse_contact | abuse@example.com | abuse contact |
Name | Value | Description |
message | Handle updated |
HTTP Code | Message | Description |
400 | Handle name is missing | handle_name parameter is missing or empty |
404 | Handle not found |
Description of our data objects.
Name | Value | Description |
name | example.de | domain name |
redirector_settings | { "type": "landing", "method": "redirect_sale_page" } | Redirector Settings object |
authinfo | E-Hc$f3xx | AuthInfo Code of the domain. null if not set |
autoexpire_at | 2022-08-30 | Date of automatic expiry of the domain. null if not set |
paid_until | 2022-08-31 | Paid until date |
handle_id | 1234 | ID of the handle object |
created_at | 2018-10-07 21:34:35 | Created at date |
New entries will show status wait. Servers take up to two minutes to process new entries. After processing the correct status will be available.
Name | Value | Description |
name | example.de | domain name |
status | rgp | Current status of the domain. Possible values: wait, taken, free, failed, success, rgp, authinfo, authinfo_check, restored |
users | 8 | Number of users backordering the domain |
price | 2 | price |
dropdate_at | 2022-08-31 00:00:00 | Dropdate of the domain. Empty if status is wait |
created_at | 2022-08-07 21:34:36 | Backorder created at date |
The handle object contains contact data which will be published to the domain registry.
Name | Value | Description |
id | 123 | handle ID |
alias | JohnPrivate | internal alias, used in listings |
type | PERSON | PERSON and ORG allowed |
handle_name | John Doe | name for the handle. in case of type=ORG, use the full company name, eg. ELITEDOMAINS GmbH |
street_name | Unter den Linden | street without number |
street_number | 12 | house number |
postalcode | 12345 | postal code |
city | Berlin | city |
country_iso | DE | country ISO 3166-2 code |
john@example.com | email address | |
phone | +49.16094751251 | phone number in EEP format |
general_request | general@example.com | general request contact |
abuse_contact | abuse@example.com | abuse contact |
created_at | 2018-10-07 21:34:35 | Created at date |
This object is for DNS entries in the redirector.
Name | Value | Description |
type | A | record type Possible values: A, AAAA, CNAME, MX, TXT, SPF |
name | @ | record name (@ for the apex domain or any subdomain name, e.g. www) |
value | 159.89.214.161 | record value (e.g. IP address or host) |
prio | 10 | only relevant for MX entries |
ttl | 3600 | TTL in seconds |
This object is used for NSentry entries in the redirector.
Name | Value | Description |
type | A | record type Possible values: A, AAAA, MX |
name | @ | record name (@ for the apex domain or any subdomain name, e.g. www) |
value | 159.89.214.161 | record value (e.g. IP address or host) |
The fields for a redirector settings object depend on its type:
When the redirector is set to type “redirect”, every access to the domain will be redirected to another URL. The “method” setting can be used to specify the redirection method (either HTTP status code 301 or 302 redirect, meta tag redirect, or redirect using JavaScript or an iFrame).
Name | Value | Description |
type | redirect | Redirect the domain to another URL. |
method | 301 | Redirection method. Possible values: 301, 302, meta, js, frame |
url | https://example.com/test | the target URL for the redirection |
When the redirector is set to type “landing”, a landing page is shown for the domain. This can either be a sale page or a placeholder page (default message or whitescreen).
Name | Value | Description |
type | landing | Redirect to a temporary landing page. |
method | 301 | Landing page. Possible values: redirect_sale_page, whitescreen, default, 4sale |
When the redirector is set to type “external”, external nameservers can be used. Optionally, DNSSEC can be activated.
Name | Value | Description |
type | external | Use external nameservers. |
ns | [ "ns1.example.com", "ns2.example.com" ] | Array of two external nameservers |
options | { "dnssec-active":"false", "dnssec-key":null, "dnssec-algorithm":"13" "dnssec-flags":"257" } | DNSSEC options |
When the redirector is set to type “denic”, the NSentry method to publish DNS entries directly on DENIC’s server infrastructure can be used. Please note that using this method only allows a maximum of 5 entries.
Name | Value | Description |
type | denic | Use NSentry records. |
nsentry | [ { "type":"A", "name":"@", "value":"159.89.214.161" }, { "type":"A", "name":"www", "value":"159.89.214.161" } ] | Array of NSentry types |
When the redirector is set to type “dns”, the nameservers provided by ELITEDOMAINS will be used and you can specify arbitrary DNS entries.
Name | Value | Description |
type | dns | Use the ELITEDOMAINS nameserver. |
dns | Array of DNS entry types | |
options | { "dnssec-active":"false", "dnssec-key":null, "dnssec-algorithm":"13" "dnssec-flags":"257" } | DNSSEC options |