Virtualname API
version v1
baseUri https://api.virtualname.net/v1/
protocols HTTPS
mediaType application/json,application/xml
Introduction
Welcome to the API reference for Virtualname.
Environment
There are two API environments: Development
and Production
. Bear in mind that not all the operations that can be executed in Production can be correctly handled in Development. In each API call documentation you will find documentation about possible issues in the Development environment for that specific API call.
- Development
- Host:
dev.api.virtualname.net
.
- Host:
- Production
- Host:
api.virtualname.net
. All transactions will be made on top of SSL/TLS. Connect API usinghttps
or through port443
.
- Host:
Path
A typical API path is of the form: https://api.virtualname.net/v1/domains/contacts.json
. This breaks down to the following components:
- Protocol:
https
- Host:
https://api.virtualname.net
MAJOR
version:v1
- Module:
domains
- Resource:
contacts
- Format:
json
Therefore, in this example we are accessing listing of contacts of the domains module, through API version v1
and format JSON
.
Versioning
The API has built-in versioning. In the request path you will find the MAJOR
(v1
) version. For example:
https://api.virtualname.net/v1/domains/contacts.json
These are changes that can be made to an already published MAJOR
version:
- Adding a completely new module.
- This will not affect your integration in any way. Just a new module to use! Yoo-hoo!
- Adding new calls or resources to existing modules.
- New API calls don’t affect your integration code. Should you decide to implement them, your integration will be more complete.
- Adding optional parameters to an already existing API call.
- Behavior will not change if you keep the same parameters as before.
- Adding new attributes to the return value(s) of an API call.
- You will continue using the return values as before. You will just ignore the new attributes.
- Change the order of attributes in the answer.
- You should never assume that the API return has any kind of sorting. In the case of
JSON
you should read attributes by name, and in the case ofXML
you should useXPath
or use the attribute name hierarchically.
- You should never assume that the API return has any kind of sorting. In the case of
Any other changes will force us to create a new MAJOR
version. That will mean that we will be working hard on this new version. Once we publish a new MAJOR
version, we recommend to integrate with it. It will be faster, smarter and any other cool adjectives that come to mind.
Current MAJOR
version
Version | Current status | Release date |
---|---|---|
/v1 | Alpha | Not yet released |
Authentication
Every request requires authentication.
All you need to authenticate a request is to add an HTTP header X-TCpanel-Token
to each request, stating the token you want to use. Note that each token could have a set of IP addresses authorized to use it. If a token does not have any IP address, then access will not be restricted by IP.
You can manage your account tokens here.
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/hello.json"
Formatting
All resources understand JSON
and XML
. We love JSON
for its simplicity, but if you have a good XML
tool, we’ll be delighted to speak it!
The format to be used is specified in each call’s path.
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/hello.json"
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/hello.xml"
Parameters
Throughout the documentation, you will notice that in curl
examples, parameters sent to calls are always JSON
formatted objects. This is so only for brevity, because JSON
is usually more concise than XML
.
You will notice also that in every example that send data, we send a Content-Type
header to curl
with the value application/json
. This allows the API to be able to understand the parameters we are sending it. Every example could be made with XML
in the same way, just setting Content-Type
to application/xml
, and adapting accordingly the parameter contents. The XML
structure that would be sent in this case is exactly the same as in JSON
.
It is not required to indent the XML to be sent to the API. We indent and format it for better readability in the example.
JSON
{
"contact": {
"name": "Anne",
"lastname": "Doe",
"hobbies": ["programming", "tennis"]
}
}
XML
<?xml version="1.0" encoding="UTF-8"?>
<contact>
<name>Anne</name>
<lastname>Doe</lastname>
<hobbies>
<hobby>programming</hobby>
<hobby>tennis</hobby>
</hobbies>
</contact>
HTTP verbs
The API supports several HTTP verbs, thereby defining a RESTful API. These are as follows:
Verb | Description |
---|---|
GET | Used typically to obtain information about a resource. The result is usually a resource or a list of resources |
HEAD | It is similar to GET in that headers and HTTP status code are the same. The difference is that HEAD will give an empty response body. It is used, for example, to inquire whether a resource exists, with no regard for the resource body in the event it does, but merely its existance |
POST | Creates a new resource |
PATCH | Updates an existing resource. Preferred method |
PUT | Updates an existing resource. The verb PATCH is preferred, although no operative difference exists |
DELETE | Removes an existing resource |
HTTP encoding
Encoding is always UTF-8
.
Request limit
The API has a limit of requests per client, irrespective of the IP address and token used. The request limit per client is as follows:
Request type | Associated HTTP verbs | Limit | Window |
---|---|---|---|
Informative | GET , HEAD | 1000 requests | 1 hour |
Operative | POST , PATCH , PUT , DELETE | 1000 requests | 1 hour |
Each request type only subtracts credit of its type. This means that in one hour, 1000 requests of informative type and 1000 requests of operative type can be made. However, it is not possible to run more than 1000 requests per hour of any of the two types.
Every API response includes several HTTP headers that indicate the request limit status:
X-RateLimit
: Request limit for the current window.X-RateLimit-Remaining
: Available requests for the current window.X-RateLimit-Reset
: UTC timestamp in which a new window opens.
If the request limit has been reached for the current window, the API will return a 429
HTTP error (Too many requests
). In addition, this error will contain the header Retry-After
which will indicate the number of seconds remaining to retry the request. That is, the number of seconds remaining for a new window to open.
Asynchronous calls
Any request can be executed asynchronously.
You only need to set the HTTP header X-TCpanel-Callback
to the request to be executed asynchronously. The value of this header has to be the full URI
where to call back. Every callback is executed with a POST
verb and a User-Agent
set to TCpanel Async Callback
.
Every correct asynchronous request return a 202
HTTP code and exit immediately with information about the reference of the asynchronous request. This means that the request has been scheduled for the next asynchronous request queue run.
The body of the callback to be made to the URI
with the POST
verb specified in the X-TCpanel-Callback
header is the same as if the request was synchronous. The HTTP code that would have been returned had the request been made synchronous (200
, 201
, 400
...) will be received in the POST
request, X-TCpanel-Status-Code
header.
You may refer to documentation about asynchronous request details for more information.
curl -vvv -H 'X-TCpanel-Token: token' -H 'X-TCpanel-Callback: https://mysite.com/callback.php?order=1000' -X POST -d '{ "contact" : { "name": "Other" } }' -H 'Content-Type: application/json' "https://api.virtualname.net/v1/domains/contacts.json"
curl -vvv -H 'X-TCpanel-Token: token' -H 'X-TCpanel-Callback: https://mysite.com/callback.php?order=1000' -X POST -d '{ "contact" : { "name": "Other" } }' -H 'Content-Type: application/json' "https://api.virtualname.net/v1/domains/contacts.xml"
API responses
The HTTP status code returned for every request will be one of the following:
HTTP status code | Description |
---|---|
200 | Success |
201 | Success. Resource created |
202 | Success. Request scheduled to be executed in background. This code will be returned only for asynchronous calls |
400 | Invalid request. This usually happens when a first level required parameter is missing. Review documentation for the failing request |
401 | Unauthorized request. The token used is not valid, or the IP address from which the request is made is not authorized |
402 | You don’t have enough deposit to execute the operation. Reload your deposit to execute the request |
404 | Resource not found |
422 | Entity cannot be processed. This happens when it is not possible to operate on a resource because of missing or incorrect data. Review the documentation of the failing request |
429 | Request limit exceeded |
500 | Internal server error. You should never get this! We have received all the information required to solve the issue, and we are already working on it |
502 | Processes that should be tending to your request are not there. Shouldn’t happen! Retry the request |
503 | API is on maintenance, retry later |
Errors description
Whenever is not possible to carry out a task, an error will be returned with one of the codes described in API responses and also, if possible, in the body the reason for the error will be returned in the format specified as described in format.
Incorrect contact creation, mandatory fields missing
curl -vvv -H 'X-TCpanel-Token: token' -X POST -d '{ "contact" : { "name" : "" } }' -H 'Content-Type: application/json'
curl -vvv -H 'X-TCpanel-Token: token' -X POST -d '{ "contact" : { "name" : "" } }' -H 'Content-Type: application/json' "https://api.virtualname.net/v1/domains/contacts.xml"
Data update
We support two different HTTP verbs to update data: PUT
and PATCH
.
Theoretically, PUT
expects the complete object to be specified, whereas PATCH
allows for sending just the fields to be updated.
In practice, using both verbs, all the fields or just the changed attributes can be sent. Attributes not mentioned will remain unaltered.
I18n and l10n
Force English regardless of the language set by the user
Throughout the API, in certain places, internationalized and/or localized strings are exposed. It is possible to force using a language with the HTTP Accept-Language
header. If this header is not specified, the default language for the user accessing the API will be used.
Currently supported languages:
en
: Englishes
: Spanishca
: Catalan
curl -vvv -H 'X-TCpanel-Token: token' -H 'Accept-Language: en' "https://api.virtualname.net/v1/hello.json"
curl -vvv -H 'X-TCpanel-Token: token' -H 'Accept-Language: en' "https://api.virtualname.net/v1/hello.xml"
Listings
All the listings support at least the following parameters. If any listing supports more parameters, it will be specified in the documentation for that call.
Attribute | Type | Description |
---|---|---|
limit | integer | Maximum number of results to be returned |
offset | integer | Offset to start returning results |
until | datetime | Only return elements created before the specified date |
Listings belonging to products or services can be also filtered by status
and technical_status
. In the event that a product or service allows for filtering for more fields, those will be documented in the corresponding section.
Attribute | Type | Description |
---|---|---|
status | string | Filters by elements that have one of the status specified (separated by commas) |
technical_status | string | Filters by elements that have one of the technical status specified (separated by commas) |
In the documentation, all the listings will bear the label Listing, indicating that they allow pagination and, in the case of products or services, filter at least by the fields described in this section. If a resource allows filtering for more fields than those described here, the documentation of that particular resolurce will describe the additional fields
status
Value | Description |
---|---|
pending | Payment pending |
paid | Paid |
active | Active |
suspended | Suspended by the system |
operator_suspended | Suspended by an operator |
user_suspended | Suspended by a user |
subuser_suspended | Suspended by a subuser |
cancelled | Cancelled |
deletion_requested | Deletion requested |
inactive | Inactive |
destroying | In process to be removed |
expired | Expired |
redemption | Redemption |
active_pending_registrant_approval | Active pending registrant approval |
outbound_transfer | Outbound transfer |
transfer_requested | Transfer requested |
transfer_rejected | Transfer rejected |
transfer_approved | Transfer approved |
transfer_expired | Transfer expired |
transfer_waiting_authcode | Transfer waiting authcode |
transfer_waiting_pending_registrant_approval | Transfer waiting pending registrant approval |
technical_status
Value | Description |
---|---|
client_hold | Client hold |
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/domains/domains.json?status=active,pending&limit=5"
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/domains/domains.xml?status=active,pending&limit=5"
Detail of every product or service
Every product or service that can be invoiced have a section product_info
(product information), made up of four fields:
Attribute | Type | Description |
---|---|---|
product_status | string | Status of the product or service |
product_technical_status | string | Technical status of the product or service. Usually NULL , except for those resources in which its use is documented |
product_periodicity | string | Periodicity or recurrency of the product or service |
product_expiration | date | Expiration date of the product or service |
product_status
This field can have more values than those listed below, depending on the referred product or service. In the cases where there are more values than shown here in any API-accessible service or product, the documentation will show the values it extends.
Value | Description |
---|---|
pending | Pending payment |
paid | Paid |
active | Active |
suspended | Suspended by the system |
operator_suspended | Suspended by an operator |
user_suspended | Suspended by a user |
subuser_suspended | Suspended by a subuser |
cancelled | Cancelled |
deletion_requested | Deletion requested |
inactive | Inactive |
destroying | In process of removal |
expired | Expired |
redemption | Redemption |
active_pending_registrant_approval | Active pending registrant approval |
outbound_transfer | Outbound transfer |
transfer_requested | Transfer requested |
transfer_rejected | Transfer rejected |
transfer_approved | Transfer approved |
transfer_expired | Transfer expired |
transfer_waiting_authcode | Transfer waiting authcode |
transfer_waiting_pending_registrant_approval | Transfer waiting pending registrant approval |
product_technical_status
Value | Description |
---|---|
client_hold | Client hold |
product_periodicity
Value | Description |
---|---|
not_recurrent | No recurrency. For example, domains and certificates belong to this type. |
monthly | Monthly |
bimonthly | Bi-monthly |
quarterly | Quarterly |
halfyearly | Half-yearly |
yearly | Yearly |
More often than not, you will find a field created_at
and another called updated_at
in many of the queried objects.
Attribute | Type | Description |
---|---|---|
created_at | datetime | Object creation |
updated_at | datetime | Object last update |
Deposit balance
GET: /deposit/balance
(secured)
Possible Responses
200
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/deposit/balance" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"balance" : 5425.3,
"currency" : "EUR"
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<deposit>
<balance>5425.3</balance>
<currency>EUR</currency>
</deposit>
Type
any
Deposit transactions
GET: /deposit/transactions
(secured)
Attribute | Type | Description |
---|---|---|
invoice_id | integer | Order linked to the transaction. Not NULL if deposit has been used, and it points to the order that subtracted from deposit |
order_id | integer | Order linked to the transaction. Not NULL if a charge, and points to the charging order |
balance | decimal | Deposit balance after the transaction |
Query Parameters
limit
Maximum number of results to be returned
Property | Value |
---|---|
required | false |
type | integer |
until
Only return elements created before the specified date
Property | Value |
---|---|
required | false |
type | datetime |
offset
Offset to start returning results
Property | Value |
---|---|
required | false |
type | integer |
Possible Responses
200
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/deposit/transactions" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
[
{
"id" : 507,
"invoice_id" : 610,
"created_at" : "2015-04-17T19:59:17.000+02:00",
"updated_at" : "2015-04-17T19:59:17.000+02:00",
"order_id" : null,
"balance" : 9950.0
},
{
"id" : 508,
"invoice_id" : 611,
"created_at" : "2015-04-17T19:59:18.000+02:00",
"updated_at" : "2015-04-17T19:59:18.000+02:00",
"order_id" : null,
"balance" : 9900.0
}
]
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<transactions>
<transaction>
<id>507</id>
<invoice-id>610</invoice-id>
<created-at>2015-04-17T19:59:17+02:00</created-at>
<updated-at>2015-04-17T19:59:17+02:00</updated-at>
<order-id nil="true"/>
<balance>9950.0</balance>
</transaction>
<transaction>
<id>508</id>
<invoice-id>611</invoice-id>
<created-at>2015-04-17T19:59:18+02:00</created-at>
<updated-at>2015-04-17T19:59:18+02:00</updated-at>
<order-id nil="true"/>
<balance>9900.0</balance>
</transaction>
</transactions>
Type
any
Orders and invoices
Listings of orders and invoices
GET: /invoices
(secured)
Refer to the documentation for the order detail or invoice to know more about each attribute.
Query Parameters
limit
Maximum number of results to be returned
Property | Value |
---|---|
required | false |
type | integer |
until
Only return elements created before the specified date
Property | Value |
---|---|
required | false |
type | datetime |
offset
Offset to start returning results
Property | Value |
---|---|
required | false |
type | integer |
Possible Responses
200
Listings of orders and invoices
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/invoices" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
[
{
"id" : 609,
"status" : "skipped",
"processed_with" : "skip",
"closed_at" : null,
"company" : "Neodigit",
"company_id" : "B82753625",
"name" : "API",
"lastname" : "Documentation",
"ic" : "",
"email" : "info@neodigit.es",
"phonecc" : "34",
"phone" : "910059090",
"address" : "Calle Agosto, 6",
"zipcode" : "28022",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"emitter_company" : "Tecnocrática Centro de Datos S.L.",
"emitter_company_id" : "B86333523",
"emitter_email" : "clientes@tecnocratica.net",
"emitter_phonecc" : "34",
"emitter_phone" : "910059045",
"emitter_address" : "Calle Salvatierra, 4, 3ºD",
"emitter_zipcode" : "28034",
"emitter_city" : "Madrid",
"emitter_state" : "Madrid",
"emitter_country" : "ES",
"legal_notice" : "Tecnocrática Centro de Datos, S.L. inscrita en el Registro Mercantil de Madrid, tomo 29392, folio 11, hoja M-529043",
"checkout_at" : "2015-04-17T19:58:11.000+02:00",
"rejected_at" : null,
"reference" : null,
"subtotal" : 10000.0,
"subtotal_with_discount" : 10000.0,
"total" : 10000.0,
"orders" : [
{
"id" : 617,
"status" : "pending",
"quantity" : 1,
"created_at" : "2015-04-17T19:56:41.000+02:00",
"updated_at" : "2015-04-17T19:58:09.000+02:00",
"invoice_id" : 609,
"from" : "2015-09-21",
"to" : "2015-09-21",
"fixed_discount" : null,
"proportional_discount" : null,
"amount" : 10000.0,
"product_periodicity" : "not_recurrent",
"source_amount" : 10000.0,
"source_currency" : "EUR",
"exchange_rate" : 1,
"method" : "manual",
"description" : "Añadir fondos a depósito (10000.00 €)",
"subtotal" : 10000.0,
"subtotal_with_discount" : 10000.0
}
],
"vat_concepts" : [
]
},
{
"id" : 610,
"status" : "paid",
"processed_with" : "deposit",
"closed_at" : null,
"company" : "Neodigit",
"company_id" : "B82753625",
"name" : "API",
"lastname" : "Documentation",
"ic" : "",
"email" : "info@neodigit.es",
"phonecc" : "34",
"phone" : "910059090",
"address" : "Calle Agosto, 6",
"zipcode" : "28022",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"emitter_company" : "Tecnocrática Centro de Datos S.L.",
"emitter_company_id" : "B86333523",
"emitter_email" : "clientes@tecnocratica.net",
"emitter_phonecc" : "34",
"emitter_phone" : "910059045",
"emitter_address" : "Calle Salvatierra, 4, 3ºD",
"emitter_zipcode" : "28034",
"emitter_city" : "Madrid",
"emitter_state" : "Madrid",
"emitter_country" : "ES",
"legal_notice" : "Tecnocrática Centro de Datos, S.L. inscrita en el Registro Mercantil de Madrid, tomo 29392, folio 11, hoja M-529043",
"checkout_at" : "2015-04-17T19:59:17.000+02:00",
"rejected_at" : null,
"reference" : null,
"subtotal" : 50.0,
"subtotal_with_discount" : 50.0,
"total" : 50.0,
"orders" : [
{
"id" : 618,
"status" : "paid",
"quantity" : 5,
"created_at" : "2015-04-17T19:59:17.000+02:00",
"updated_at" : "2015-04-17T19:59:18.000+02:00",
"invoice_id" : 610,
"from" : "2015-04-17",
"to" : "2020-04-17",
"fixed_discount" : 0.0,
"proportional_discount" : 0.0,
"amount" : 10.0,
"product_periodicity" : "not_recurrent",
"source_amount" : 10.0,
"source_currency" : "EUR",
"exchange_rate" : 1.0,
"method" : "api",
"description" : "Registro del dominio domain-pasotkvhcp.com por 5 años",
"subtotal" : 50.0,
"subtotal_with_discount" : 50.0
}
],
"vat_concepts" : [
]
}
]
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<invoices>
<invoice>
<id>609</id>
<status>skipped</status>
<processed-with>skip</processed-with>
<closed-at nil="true"/>
<company>Neodigit</company>
<company-id>B82753625</company-id>
<name>API</name>
<lastname>Documentation</lastname>
<ic></ic>
<email>info@neodigit.es</email>
<phonecc>34</phonecc>
<phone>910059090</phone>
<address>Calle Agosto, 6</address>
<zipcode>28022</zipcode>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<emitter-company>Tecnocrática Centro de Datos S.L.</emitter-company>
<emitter-company-id>B86333523</emitter-company-id>
<emitter-email>clientes@tecnocratica.net</emitter-email>
<emitter-phonecc>34</emitter-phonecc>
<emitter-phone>910059045</emitter-phone>
<emitter-address>Calle Salvatierra, 4, 3ºD</emitter-address>
<emitter-zipcode>28034</emitter-zipcode>
<emitter-city>Madrid</emitter-city>
<emitter-state>Madrid</emitter-state>
<emitter-country>ES</emitter-country>
<legal-notice>Tecnocrática Centro de Datos, S.L. inscrita en el Registro Mercantil de Madrid, tomo 29392, folio 11, hoja M-529043</legal-notice>
<checkout-at>2015-04-17T19:58:11+02:00</checkout-at>
<rejected-at nil="true"/>
<reference nil="true"/>
<subtotal>10000.0</subtotal>
<subtotal-with-discount>10000.0</subtotal-with-discount>
<total>10000.0</total>
<orders>
<order>
<id>617</id>
<status>pending</status>
<quantity>1</quantity>
<created-at>2015-04-17T19:56:41+02:00</created-at>
<updated-at>2015-04-17T19:58:09+02:00</updated-at>
<invoice-id>609</invoice-id>
<from>2015-09-21</from>
<to>2015-09-21</to>
<fixed-discount nil="true"/>
<proportional-discount nil="true"/>
<amount>10000.0</amount>
<product-periodicity>not_recurrent</product-periodicity>
<source-amount>10000.0</source-amount>
<source-currency>EUR</source-currency>
<exchange-rate>1</exchange-rate>
<method>manual</method>
<description>Añadir fondos a depósito (10000.00 €)</description>
<subtotal>10000.0</subtotal>
<subtotal-with-discount>10000.0</subtotal-with-discount>
</order>
</orders>
<vat-concepts/>
</invoice>
<invoice>
<id>610</id>
<status>paid</status>
<processed-with>deposit</processed-with>
<closed-at nil="true"/>
<company>Neodigit</company>
<company-id>B82753625</company-id>
<name>API</name>
<lastname>Documentation</lastname>
<ic></ic>
<email>info@neodigit.es</email>
<phonecc>34</phonecc>
<phone>910059090</phone>
<address>Calle Agosto, 6</address>
<zipcode>28022</zipcode>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<emitter-company>Tecnocrática Centro de Datos S.L.</emitter-company>
<emitter-company-id>B86333523</emitter-company-id>
<emitter-email>clientes@tecnocratica.net</emitter-email>
<emitter-phonecc>34</emitter-phonecc>
<emitter-phone>910059045</emitter-phone>
<emitter-address>Calle Salvatierra, 4, 3ºD</emitter-address>
<emitter-zipcode>28034</emitter-zipcode>
<emitter-city>Madrid</emitter-city>
<emitter-state>Madrid</emitter-state>
<emitter-country>ES</emitter-country>
<legal-notice>Tecnocrática Centro de Datos, S.L. inscrita en el Registro Mercantil de Madrid, tomo 29392, folio 11, hoja M-529043</legal-notice>
<checkout-at>2015-04-17T19:59:17+02:00</checkout-at>
<rejected-at nil="true"/>
<reference nil="true"/>
<subtotal>50.0</subtotal>
<subtotal-with-discount>50.0</subtotal-with-discount>
<total>50.0</total>
<orders>
<order>
<id>618</id>
<status>paid</status>
<quantity>5</quantity>
<created-at>2015-04-17T19:59:17+02:00</created-at>
<updated-at>2015-04-17T19:59:18+02:00</updated-at>
<invoice-id>610</invoice-id>
<from>2015-04-17</from>
<to>2020-04-17</to>
<fixed-discount>0.0</fixed-discount>
<proportional-discount>0.0</proportional-discount>
<amount>10.0</amount>
<product-periodicity>not_recurrent</product-periodicity>
<source-amount>10.0</source-amount>
<source-currency>EUR</source-currency>
<exchange-rate>1.0</exchange-rate>
<method>api</method>
<description>Registro del dominio domain-pasotkvhcp.com por 5 años</description>
<subtotal>50.0</subtotal>
<subtotal-with-discount>50.0</subtotal-with-discount>
</order>
</orders>
<vat-concepts/>
</invoice>
</invoices>
Type
any
Order or invoice detail
GET: /invoices/{invoiceId}
(secured)
Attribute | Type | Description |
---|---|---|
id | integer | Identifier |
status | string | Status |
processed_with | string | Form of payment used for the order or invoice |
closed_at | datetime | Timestamp at which the order or invoice was closed |
company | string | Company name if not empty |
company_id | string | Company VAT number if not empty |
name | string | Client name |
lastname | string | Client last name |
ic | string | NIC/NIF/NIE or any other document identifying the client. |
email | string | E-mail address |
phonecc | string | Country code for the phone number |
phone | string | Phone number |
address | string | Postal address |
zipcode | string | Postal code |
city | string | City |
state | string | Province or state |
country | string | Country in format ISO 3166-1 alpha-2 |
checkout_at | datetime | Timestamp at which the order or invoice was checked out |
rejected_at | datetime | Timestamp at which the payment was rejected. Not NULL only if the payment was rejected and the type was bank transfer |
reference | string | Invoice number. If order it contains NULL |
subtotal | decimal | Subtotal of the order or invoice. Not computing discounts |
subtotal_with_discount | decimal | Subtotal of the order or invoice, discounts computed |
total | decimal | Invoice total. Includes discounts and taxes |
vat_concepts | list | List of taxes applied to the invoice |
orders | list | Order list. Refer to the order detail documentation to know more about each attribute |
vat_concepts
vat_concepts
is a list of taxes, each containing the following attributes:
Attribute | Type | Description |
---|---|---|
concept | string | Tax description |
amount | decimal | Tax amount |
URI Parameters
invoiceId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Order or invoice detail
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/invoices/{invoiceId}" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"id" : 609,
"status" : "skipped",
"processed_with" : "skip",
"closed_at" : null,
"company" : "Neodigit",
"company_id" : "B82753625",
"name" : "API",
"lastname" : "Documentation",
"ic" : "",
"email" : "info@neodigit.es",
"phonecc" : "34",
"phone" : "910059090",
"address" : "Calle Agosto, 6",
"zipcode" : "28022",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"emitter_company" : "Tecnocrática Centro de Datos S.L.",
"emitter_company_id" : "B86333523",
"emitter_email" : "clientes@tecnocratica.net",
"emitter_phonecc" : "34",
"emitter_phone" : "910059045",
"emitter_address" : "Calle Salvatierra, 4, 3ºD",
"emitter_zipcode" : "28034",
"emitter_city" : "Madrid",
"emitter_state" : "Madrid",
"emitter_country" : "ES",
"legal_notice" : "Tecnocrática Centro de Datos, S.L. inscrita en el Registro Mercantil de Madrid, tomo 29392, folio 11, hoja M-529043",
"checkout_at" : "2015-04-17T19:58:11.000+02:00",
"rejected_at" : null,
"reference" : null,
"subtotal" : 10000.0,
"subtotal_with_discount" : 10000.0,
"total" : 10000.0,
"orders" : [
{
"id" : 617,
"status" : "pending",
"quantity" : 1,
"created_at" : "2015-04-17T19:56:41.000+02:00",
"updated_at" : "2015-04-17T19:58:09.000+02:00",
"invoice_id" : 609,
"from" : "2015-09-21",
"to" : "2015-09-21",
"fixed_discount" : null,
"proportional_discount" : null,
"amount" : 10000.0,
"product_periodicity" : "not_recurrent",
"source_amount" : 10000.0,
"source_currency" : "EUR",
"exchange_rate" : 1,
"method" : "manual",
"description" : "Añadir fondos a depósito (10000.00 €)",
"subtotal" : 10000.0,
"subtotal_with_discount" : 10000.0
}
],
"vat_concepts" : [
]
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<invoices>
<invoice>
<id>609</id>
<status>skipped</status>
<processed-with>skip</processed-with>
<closed-at nil="true"/>
<company>Neodigit</company>
<company-id>B82753625</company-id>
<name>API</name>
<lastname>Documentation</lastname>
<ic></ic>
<email>info@neodigit.es</email>
<phonecc>34</phonecc>
<phone>910059090</phone>
<address>Calle Agosto, 6</address>
<zipcode>28022</zipcode>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<emitter-company>Tecnocrática Centro de Datos S.L.</emitter-company>
<emitter-company-id>B86333523</emitter-company-id>
<emitter-email>clientes@tecnocratica.net</emitter-email>
<emitter-phonecc>34</emitter-phonecc>
<emitter-phone>910059045</emitter-phone>
<emitter-address>Calle Salvatierra, 4, 3ºD</emitter-address>
<emitter-zipcode>28034</emitter-zipcode>
<emitter-city>Madrid</emitter-city>
<emitter-state>Madrid</emitter-state>
<emitter-country>ES</emitter-country>
<legal-notice>Tecnocrática Centro de Datos, S.L. inscrita en el Registro Mercantil de Madrid, tomo 29392, folio 11, hoja M-529043</legal-notice>
<checkout-at>2015-04-17T19:58:11+02:00</checkout-at>
<rejected-at nil="true"/>
<reference nil="true"/>
<subtotal>10000.0</subtotal>
<subtotal-with-discount>10000.0</subtotal-with-discount>
<total>10000.0</total>
<orders>
<order>
<id>617</id>
<status>pending</status>
<quantity>1</quantity>
<created-at>2015-04-17T19:56:41+02:00</created-at>
<updated-at>2015-04-17T19:58:09+02:00</updated-at>
<invoice-id>609</invoice-id>
<from>2015-09-21</from>
<to>2015-09-21</to>
<fixed-discount nil="true"/>
<proportional-discount nil="true"/>
<amount>10000.0</amount>
<product-periodicity>not_recurrent</product-periodicity>
<source-amount>10000.0</source-amount>
<source-currency>EUR</source-currency>
<exchange-rate>1</exchange-rate>
<method>manual</method>
<description>Añadir fondos a depósito (10000.00 €)</description>
<subtotal>10000.0</subtotal>
<subtotal-with-discount>10000.0</subtotal-with-discount>
</order>
</orders>
<vat-concepts/>
</invoice>
<invoice>
<id>610</id>
<status>paid</status>
<processed-with>deposit</processed-with>
<closed-at nil="true"/>
<company>Neodigit</company>
<company-id>B82753625</company-id>
<name>API</name>
<lastname>Documentation</lastname>
<ic></ic>
<email>info@neodigit.es</email>
<phonecc>34</phonecc>
<phone>910059090</phone>
<address>Calle Agosto, 6</address>
<zipcode>28022</zipcode>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<emitter-company>Tecnocrática Centro de Datos S.L.</emitter-company>
<emitter-company-id>B86333523</emitter-company-id>
<emitter-email>clientes@tecnocratica.net</emitter-email>
<emitter-phonecc>34</emitter-phonecc>
<emitter-phone>910059045</emitter-phone>
<emitter-address>Calle Salvatierra, 4, 3ºD</emitter-address>
<emitter-zipcode>28034</emitter-zipcode>
<emitter-city>Madrid</emitter-city>
<emitter-state>Madrid</emitter-state>
<emitter-country>ES</emitter-country>
<legal-notice>Tecnocrática Centro de Datos, S.L. inscrita en el Registro Mercantil de Madrid, tomo 29392, folio 11, hoja M-529043</legal-notice>
<checkout-at>2015-04-17T19:59:17+02:00</checkout-at>
<rejected-at nil="true"/>
<reference nil="true"/>
<subtotal>50.0</subtotal>
<subtotal-with-discount>50.0</subtotal-with-discount>
<total>50.0</total>
<orders>
<order>
<id>618</id>
<status>paid</status>
<quantity>5</quantity>
<created-at>2015-04-17T19:59:17+02:00</created-at>
<updated-at>2015-04-17T19:59:18+02:00</updated-at>
<invoice-id>610</invoice-id>
<from>2015-04-17</from>
<to>2020-04-17</to>
<fixed-discount>0.0</fixed-discount>
<proportional-discount>0.0</proportional-discount>
<amount>10.0</amount>
<product-periodicity>not_recurrent</product-periodicity>
<source-amount>10.0</source-amount>
<source-currency>EUR</source-currency>
<exchange-rate>1.0</exchange-rate>
<method>api</method>
<description>Registro del dominio domain-pasotkvhcp.com por 5 años</description>
<subtotal>50.0</subtotal>
<subtotal-with-discount>50.0</subtotal-with-discount>
</order>
</orders>
<vat-concepts/>
</invoice>
</invoices>
Type
any
Order detail
GET: /orders/{orderId}
(secured)
Every order and invoice is made up of one or more order items. This request shows the detail of a single order or invoice item.
Attribute | Type | Description |
---|---|---|
id | integer | Identifier |
status | string | Status |
quantity | integer | Quantity |
invoice_id | integer | Order or invoice |
from | date | Since when the order is linked |
to | date | Until when the order is linked |
fixed_discount | decimal | Fixed discount |
proportional_discount | decimal | Discount rate |
amount | decimal | Unit price |
product_periodicity | string | Service periodicity |
source_amount | decimal | Unit price in the source currency |
source_currency | string | Source currency |
exchange_rate | decimal | Exchange rate applied for this order from the source currency |
description | string | Service description |
subtotal | decimal | Subtotal for this order |
URI Parameters
orderId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/orders/{orderId}" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"id" : 617,
"status" : "pending",
"quantity" : 1,
"created_at" : "2015-04-17T19:56:41.000+02:00",
"updated_at" : "2015-04-17T19:58:09.000+02:00",
"invoice_id" : 609,
"from" : "2015-09-21",
"to" : "2015-09-21",
"fixed_discount" : null,
"proportional_discount" : null,
"amount" : 10000.0,
"product_periodicity" : "not_recurrent",
"source_amount" : 10000.0,
"source_currency" : "EUR",
"exchange_rate" : 1,
"method" : "manual",
"description" : "Añadir fondos a depósito (10000.00 €)",
"subtotal" : 10000.0,
"subtotal_with_discount" : 10000.0
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<order>
<id>617</id>
<status>pending</status>
<quantity>1</quantity>
<created-at>2015-04-17T19:56:41+02:00</created-at>
<updated-at>2015-04-17T19:58:09+02:00</updated-at>
<invoice-id>609</invoice-id>
<from>2015-09-21</from>
<to>2015-09-21</to>
<fixed-discount nil="true"/>
<proportional-discount nil="true"/>
<amount>10000.0</amount>
<product-periodicity>not_recurrent</product-periodicity>
<source-amount>10000.0</source-amount>
<source-currency>EUR</source-currency>
<exchange-rate>1</exchange-rate>
<method>manual</method>
<description>Añadir fondos a depósito (10000.00 €)</description>
<subtotal>10000.0</subtotal>
<subtotal-with-discount>10000.0</subtotal-with-discount>
</order>
Type
any
Currency conversion
GET: /exchange-rates
(secured)
Get the currency rates that will be applied to those transactions that require currency conversion.
The response is a list of elements, described as follows:
Attribute | Type | Description |
---|---|---|
source_currency | string | Source currency code (ISO 4217 ) |
target_currency | string | Target currency code (ISO 4217 ) |
exchange_rate | decimal | Effective exchange unit rate |
Possible Responses
200
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/exchange-rates" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
[
{
"source_currency" : "USD",
"target_currency" : "EUR",
"exchange_rate" : 0.92498
},
{
"source_currency" : "RUB",
"target_currency" : "EUR",
"exchange_rate" : 0.01725
}
]
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<exchange-rates>
<exchange-rate>
<source-currency>USD</source-currency>
<target-currency>EUR</target-currency>
<exchange-rate>0.92498</exchange-rate>
</exchange-rate>
<exchange-rate>
<source-currency>RUB</source-currency>
<target-currency>EUR</target-currency>
<exchange-rate>0.01725</exchange-rate>
</exchange-rate>
</exchange-rates>
Type
any
Asynchronous requests
Asynchronous requests list
GET: /async-calls
(secured)
Possible Responses
200
Asynchronous requests list
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/async-calls" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
[
{
"id" : 70,
"path" : "/v1/domains/contacts.json",
"verb" : "POST",
"callback" : "https://mysite.com/callback.php?order=1000",
"status" : "pending",
"callback_status" : "pending",
"callback_retries" : 0,
"started_execution_at" : null,
"finished_execution_at" : null,
"ack_at" : null,
"created_at" : "2015-04-17T19:59:12.000+02:00",
"updated_at" : "2015-04-17T19:59:12.000+02:00",
"parameters" : {
"contact" : {
"name" : "Other"
}
}
},
{
"id" : 71,
"path" : "/v1/domains/contacts.xml",
"verb" : "POST",
"callback" : "https://mysite.com/callback.php?order=1000",
"status" : "pending",
"callback_status" : "pending",
"callback_retries" : 0,
"started_execution_at" : null,
"finished_execution_at" : null,
"ack_at" : null,
"created_at" : "2015-04-17T19:59:12.000+02:00",
"updated_at" : "2015-04-17T19:59:12.000+02:00",
"parameters" : {
"contact" : {
"name" : "Other"
}
}
}
]
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<async-calls>
<async-call>
<id>70</id>
<path>/v1/domains/contacts.json</path>
<verb>POST</verb>
<callback>https://mysite.com/callback.php?order=1000</callback>
<status>pending</status>
<callback-status>pending</callback-status>
<callback-retries>0</callback-retries>
<started-execution-at nil="true"/>
<finished-execution-at nil="true"/>
<ack-at nil="true"/>
<created-at>2015-04-17T19:59:12+02:00</created-at>
<updated-at>2015-04-17T19:59:12+02:00</updated-at>
<parameters>
<contact>
<name>Other</name>
</contact>
</parameters>
</async-call>
<async-call>
<id>71</id>
<path>/v1/domains/contacts.xml</path>
<verb>POST</verb>
<callback>https://mysite.com/callback.php?order=1000</callback>
<status>pending</status>
<callback-status>pending</callback-status>
<callback-retries>0</callback-retries>
<started-execution-at nil="true"/>
<finished-execution-at nil="true"/>
<ack-at nil="true"/>
<created-at>2015-04-17T19:59:12+02:00</created-at>
<updated-at>2015-04-17T19:59:12+02:00</updated-at>
<parameters>
<contact>
<name>Other</name>
</contact>
</parameters>
</async-call>
</async-calls>
Type
any
Asynchronous request detail
GET: /async-calls/{asyncCallId}
(secured)
URI Parameters
asyncCallId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Asynchronous request detail
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/async-calls/{asyncCallId}" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"id" : 70,
"path" : "/v1/domains/contacts.json",
"verb" : "POST",
"callback" : "https://mysite.com/callback.php?order=1000",
"status" : "pending",
"callback_status" : "pending",
"callback_retries" : 0,
"started_execution_at" : null,
"finished_execution_at" : null,
"ack_at" : null,
"created_at" : "2015-04-17T19:59:12.000+02:00",
"updated_at" : "2015-04-17T19:59:12.000+02:00",
"parameters" : {
"contact" : {
"name" : "Other"
}
}
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<async-call>
<id>70</id>
<path>/v1/domains/contacts.json</path>
<verb>POST</verb>
<callback>https://mysite.com/callback.php?order=1000</callback>
<status>pending</status>
<callback-status>pending</callback-status>
<callback-retries>0</callback-retries>
<started-execution-at nil="true"/>
<finished-execution-at nil="true"/>
<ack-at nil="true"/>
<created-at>2015-04-17T19:59:12+02:00</created-at>
<updated-at>2015-04-17T19:59:12+02:00</updated-at>
<parameters>
<contact>
<name>Other</name>
</contact>
</parameters>
</async-call>
Type
any
Domains
Contact list
GET: /domains/contacts
(secured)
Refer to the contact details documentation to know more about each attribute.
Possible Responses
200
Contact list
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/domains/contacts" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
[
{
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
{
"id" : 370,
"name" : "Test",
"company" : null,
"email" : "test@test.com",
"address" : "Test",
"city" : "Test",
"state" : "Test",
"country" : "US",
"zipcode" : "00000",
"phonecc" : "34",
"phone" : "123456789",
"created_at" : "2015-04-22T19:37:28.000+02:00",
"updated_at" : "2015-04-22T19:37:28.000+02:00",
"ic" : "Identification number",
"faxcc" : null,
"fax" : null,
"lastname" : "Test",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
]
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<domains-contacts>
<domains-contact>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</domains-contact>
<domains-contact>
<id>370</id>
<name>Test</name>
<company nil="true"/>
<email>test@test.com</email>
<address>Test</address>
<city>Test</city>
<state>Test</state>
<country>US</country>
<zipcode>00000</zipcode>
<phonecc>34</phonecc>
<phone>123456789</phone>
<created-at>2015-04-22T19:37:28+02:00</created-at>
<updated-at>2015-04-22T19:37:28+02:00</updated-at>
<ic>Identification number</ic>
<faxcc nil="true"/>
<fax nil="true"/>
<lastname>Test</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</domains-contact>
</domains-contacts>
Type
any
Create contact
POST: /domains/contacts
(secured)
Mandatory attributes
name
, email
, country
, state
, city
, address
, zipcode
, phonecc
, phone
Optional attributes
lastname
, ic
, company
, company_id
, legal_form
, faxcc
, fax
, birthdate
, birthplace
, passport
Refer to the contact details documentation to know more about each attribute.
Possible Responses
201
Create contact
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/domains/contacts" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "contact" : { "name" : "Test", "lastname" : "Test", "ic" : "Identification number", "email" : "test@test.com", "country": "US", "state" : "Test", "city" : "Test", "address": "Test", "zipcode" : "00000", "phonecc" : "34", "phone" : "123456789" } }
Type
any
{ "contact" : { "name" : "Test", "lastname" : "Test", "ic" : "Identification number", "email" : "test@test.com", "country": "US", "state" : "Test", "city" : "Test", "address": "Test", "zipcode" : "00000", "phonecc" : "34", "phone" : "123456789" } }
Type
any
RESPONSE BODY
201
{
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
Type
any
201
<?xml version="1.0" encoding="UTF-8"?>
<contact>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</contact>
Type
any
Contact detail
GET: /domains/contacts/{contactId}
(secured)
Attribute | Type | Description |
---|---|---|
id | integer | Identifier |
name | string | Name |
lastname | string | Last name |
company | string | Company name |
legal_form | string | Company legal form |
email | string | E-mail address |
address | string | Postal address |
city | string | City |
state | string | Province or state |
country | string | Country in ISO 3166-1 alpha-2 format |
zipcode | string | Postal code |
phonecc | string | Phone number country code |
phone | string | Phone number |
ic | string | NIF/NIE or any other document identifying the person bearing it |
faxcc | string | Fax number country code |
fax | string | Fax number |
birthdate | date | Birth date |
birthplace | date | Birth place |
passport | string | Passport |
legal_form
Legal forms are available depending on the country of the contact.
Country | Value | Description |
---|---|---|
ES | agrarian_transformation | Agrarian transformation |
ES | association | Association |
ES | autonomous_public_organization | Autonomous public organization |
ES | branch_in_spain | Branch in spain |
ES | civil_society | Civil society |
ES | community_of_owners | Community of owners |
ES | community_property | Community property |
ES | congregation_or_religious_institution | Congregation or religious institution |
ES | consortium | Consortium |
ES | consulate | Consulate |
ES | cooperative_society | Cooperative society |
ES | corporation | Corporation |
ES | designation_of_origin_control_board | Designation of origin control board |
ES | economic_interest_group | Economic interest grouping |
ES | education_corporation | Education corporation |
ES | embassy | Embassy |
ES | foundation | Foundation |
ES | labour_society_limited | Labour society limited |
ES | limited_partnership | Limited partnership |
ES | limited_society | Limited society |
ES | local_organization | Local organization |
ES | local_public_agency | Local public agency |
ES | mutual_insurance | Mutual insurance |
ES | natural_person_or_individual | Natural person or individual |
ES | natural_space_agency_manager | Natural space agency manager |
ES | organ_of_the_regional_administration | Organ of the regional administration |
ES | organ_of_the_state_administration | Organ of the state administration |
ES | other | Other |
ES | partnership | Partnership |
ES | political_party | Political party |
ES | public_corporation | Public corporation |
ES | savings | Savings |
ES | sports_association | Sports association |
ES | sports_corporation | Sports corporation |
ES | sports_federation | Sports federation |
ES | state_public_agency | State public agency |
ES | trade_association | Trade association |
ES | union | Union |
URI Parameters
contactId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Contact detail
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/domains/contacts/{contactId}" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<contact>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</contact>
Type
any
Update contact (PUT)
PUT: /domains/contacts/{contactId}
(secured)
Refer to the contact details documentation to know more about each attribute.
Refer to the contact creation documentation to know which attributes are mandatory and which are optional.
URI Parameters
contactId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Update contact (PUT)
CURL EXAMPLE
curl -X PUT "https://api.virtualname.net/v1/domains/contacts/{contactId}" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "contact" : { "name" : "Update Test" } }
Type
any
{ "contact" : { "name" : "Update Test" } }
Type
any
RESPONSE BODY
200
{
"id" : 479,
"name" : "Update Test",
"company" : null,
"email" : "test@test.com",
"address" : "Test",
"city" : "Test",
"state" : "Test",
"country" : "US",
"zipcode" : "00000",
"phonecc" : "34",
"phone" : "123456789",
"created_at" : "2015-09-21T14:40:16.000+02:00",
"updated_at" : "2015-09-21T14:40:17.084+02:00",
"ic" : "Identification number",
"faxcc" : null,
"fax" : null,
"lastname" : "Test",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<contact>
<id>479</id>
<name>Update Test</name>
<company nil="true"/>
<email>test@test.com</email>
<address>Test</address>
<city>Test</city>
<state>Test</state>
<country>US</country>
<zipcode>00000</zipcode>
<phonecc>34</phonecc>
<phone>123456789</phone>
<created-at>2015-09-21T14:40:16+02:00</created-at>
<updated-at>2015-09-21T14:40:17+02:00</updated-at>
<ic>Identification number</ic>
<faxcc nil="true"/>
<fax nil="true"/>
<lastname>Test</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</contact>
Type
any
Update contact (PATCH)
PATCH: /domains/contacts/{contactId}
(secured)
Refer to the contact details documentation to know more about each attribute.
Refer to the contact creation documentation to know which attributes are mandatory and which are optional.
URI Parameters
contactId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Update contact (PATCH)
CURL EXAMPLE
curl -X PATCH "https://api.virtualname.net/v1/domains/contacts/{contactId}" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "contact" : { "name" : "Update Test" } }
Type
any
{ "contact" : { "name" : "Update Test" } }
Type
any
RESPONSE BODY
200
{
"id" : 479,
"name" : "Update Test",
"company" : null,
"email" : "test@test.com",
"address" : "Test",
"city" : "Test",
"state" : "Test",
"country" : "US",
"zipcode" : "00000",
"phonecc" : "34",
"phone" : "123456789",
"created_at" : "2015-09-21T14:40:16.000+02:00",
"updated_at" : "2015-09-21T14:40:17.084+02:00",
"ic" : "Identification number",
"faxcc" : null,
"fax" : null,
"lastname" : "Test",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<contact>
<id>479</id>
<name>Update Test</name>
<company nil="true"/>
<email>test@test.com</email>
<address>Test</address>
<city>Test</city>
<state>Test</state>
<country>US</country>
<zipcode>00000</zipcode>
<phonecc>34</phonecc>
<phone>123456789</phone>
<created-at>2015-09-21T14:40:16+02:00</created-at>
<updated-at>2015-09-21T14:40:17+02:00</updated-at>
<ic>Identification number</ic>
<faxcc nil="true"/>
<fax nil="true"/>
<lastname>Test</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</contact>
Type
any
Delete contact
DELETE: /domains/contacts/{contactId}
(secured)
URI Parameters
contactId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Delete contact
CURL EXAMPLE
curl -X DELETE "https://api.virtualname.net/v1/domains/contacts/{contactId}" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"base" : [
"Tiene dominios (domain-pasotkvhcp.com, domain-btcknuweuh.com, domain-bydonsosdc.com, domain-aqzxblhmeb.com, domain-nfbdfcpxmx.com, domain-jhkmitlqik.com, domain-dheusggyko.com, domain-tletzjclgp.com, domain-mhleslikpb.com, domain-yirwrrebxr.com, domain-ngwfzrnnmf.com, domain-hhbvtubzmb.com, ajdadfasadf-dfasdfasdffkasdflaasdfasdfadsfsdf.com, domain-qpcjcuegfo.com, domain-hfammybgir.com, domain-wzpwirzjhw.com, domain-bmksgukfho.com, domain-wgndotoqeq.com, domain-caylrfskvb.com, domain-yiskfszugx.com, domain-cybkigrkys.com, domain-apjrfhvcvj.com, domain-shvtiwueuc.com, domain-rbbxpqpbfc.com, domain-egqxwnhxvw.com, domain-yuabwiiptw.com, domain-lpkjqeqrqk.com, domain-frxhbogtce.com, domain-etjphwwldc.com, domain-hmwunelvdx.com, domain-oconojssyb.com, domain-htosnqqkst.com, domain-tsffkleuad.com, domain-rldnotpxsw.com, domain-vdvjbxucnc.com, domain-lqniqtbubb.com, domain-zmwdhluxen.com, domain-kdrgobjsvq.com, domain-kyiawzcaak.com, domain-kkwogkcsik.com, domain-zvayvvidxe.com, domain-kpwsukpfeg.com, domain-ycxfuaqmkx.com, domain-qrexocdntp.com, domain-upqbeiixpu.com, domain-zxsoxbesxk.com, domain-pxbkgczpjt.com, domain-tfaihagvxv.com, domain-ztwttnbxpm.com, domain-yasodizcbz.com, domain-vcrkeikici.com, domain-jlwarjhwbp.com, domain-ypxmkkeswv.com, domain-iocoeusyth.com, domain-ivbxiktijv.com, domain-uvhblgkhlm.com, domain-bazjwizedc.com, domain-xnpaovzfby.com, domain-taqmxjzatf.com, domain-slzptykfga.com, domain-krznzjhqor.com, domain-txozjangxx.com, domain-bsaxokkzoz.com, domain-zwaifamqvr.com, domain-cbrwqvfdea.com, domain-dyjdrfclbe.com, domain-nmagnqjtjd.com, domain-ypbiohfjeu.com, domain-hxpprojezz.com, domain-dyadfjdrfclbe.com, doadfmain-dyadfjdrfclbe.com, domain-uiigtkuksy.com, domain-sesuszlcai.com, domain-yhwfiusnnw.com, domain-mdwzlwepxl.com, domain-zttgehurwm.com, domain-uvekvbaqoz.com, domain-prdqcilbvc.com, domain-xddnkojtgf.com, domain-kenlpempje.com, domain-oozzcmyesz.com, domain-ovdelzqyim.com, domain-dmykrylmid.com, domain-zojznkkefo.com, domain-wqzqxpkzgx.com, domain-kckpyonvct.com, domain-asiygqrbwa.com, domain-mizcpqohrm.com, domain-clmkfudexr.com, domain-gtenluuges.com, domain-qbezgpesqo.com, domain-ktjvtfvkuo.com, domain-nhyfhpmbth.com, domain-iwodglnjmh.com, domain-qkjxwoimsb.com, domain-xcplaruxbm.com, domain-qzemwjcroo.com, domain-puppdqjvjo.com, domain-ecdmjbimsj.com, domain-cvzguopzos.com, domain-iixewimokv.com, domain-abjapdodma.com, domain-stmjydqmme.com, domain-nymlhknvug.com, domain-gxfjxjqllj.com, domain-cazqlazrgu.com) relacionados con este contacto, así que no se ha podido eliminar"
]
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<errors>
<error>Tiene dominios (domain-pasotkvhcp.com, domain-btcknuweuh.com, domain-bydonsosdc.com, domain-aqzxblhmeb.com, domain-nfbdfcpxmx.com, domain-jhkmitlqik.com, domain-dheusggyko.com, domain-tletzjclgp.com, domain-mhleslikpb.com, domain-yirwrrebxr.com, domain-ngwfzrnnmf.com, domain-hhbvtubzmb.com, ajdadfasadf-dfasdfasdffkasdflaasdfasdfadsfsdf.com, domain-qpcjcuegfo.com, domain-hfammybgir.com, domain-wzpwirzjhw.com, domain-bmksgukfho.com, domain-wgndotoqeq.com, domain-caylrfskvb.com, domain-yiskfszugx.com, domain-cybkigrkys.com, domain-apjrfhvcvj.com, domain-shvtiwueuc.com, domain-rbbxpqpbfc.com, domain-egqxwnhxvw.com, domain-yuabwiiptw.com, domain-lpkjqeqrqk.com, domain-frxhbogtce.com, domain-etjphwwldc.com, domain-hmwunelvdx.com, domain-oconojssyb.com, domain-htosnqqkst.com, domain-tsffkleuad.com, domain-rldnotpxsw.com, domain-vdvjbxucnc.com, domain-lqniqtbubb.com, domain-zmwdhluxen.com, domain-kdrgobjsvq.com, domain-kyiawzcaak.com, domain-kkwogkcsik.com, domain-zvayvvidxe.com, domain-kpwsukpfeg.com, domain-ycxfuaqmkx.com, domain-qrexocdntp.com, domain-upqbeiixpu.com, domain-zxsoxbesxk.com, domain-pxbkgczpjt.com, domain-tfaihagvxv.com, domain-ztwttnbxpm.com, domain-yasodizcbz.com, domain-vcrkeikici.com, domain-jlwarjhwbp.com, domain-ypxmkkeswv.com, domain-iocoeusyth.com, domain-ivbxiktijv.com, domain-uvhblgkhlm.com, domain-bazjwizedc.com, domain-xnpaovzfby.com, domain-taqmxjzatf.com, domain-slzptykfga.com, domain-krznzjhqor.com, domain-txozjangxx.com, domain-bsaxokkzoz.com, domain-zwaifamqvr.com, domain-cbrwqvfdea.com, domain-dyjdrfclbe.com, domain-nmagnqjtjd.com, domain-ypbiohfjeu.com, domain-hxpprojezz.com, domain-dyadfjdrfclbe.com, doadfmain-dyadfjdrfclbe.com, domain-uiigtkuksy.com, domain-sesuszlcai.com, domain-yhwfiusnnw.com, domain-mdwzlwepxl.com, domain-zttgehurwm.com, domain-uvekvbaqoz.com, domain-prdqcilbvc.com, domain-xddnkojtgf.com, domain-kenlpempje.com, domain-oozzcmyesz.com, domain-ovdelzqyim.com, domain-dmykrylmid.com, domain-zojznkkefo.com, domain-wqzqxpkzgx.com, domain-kckpyonvct.com, domain-asiygqrbwa.com, domain-mizcpqohrm.com, domain-clmkfudexr.com, domain-gtenluuges.com, domain-qbezgpesqo.com, domain-ktjvtfvkuo.com, domain-nhyfhpmbth.com, domain-iwodglnjmh.com, domain-qkjxwoimsb.com, domain-xcplaruxbm.com, domain-qzemwjcroo.com, domain-puppdqjvjo.com, domain-ecdmjbimsj.com, domain-cvzguopzos.com, domain-iixewimokv.com, domain-abjapdodma.com, domain-stmjydqmme.com, domain-nymlhknvug.com, domain-gxfjxjqllj.com, domain-cazqlazrgu.com) relacionados con este contacto, así que no se ha podido eliminar</error>
</errors>
Type
any
Extensions
GET: /domains/extensions
(secured)
Returns the list of extensions supported for your customer account, along with the prices. The structure has a first level at TLD
. This contains currency
, which represents the currency in which the actions on the same will be charged (ISO 4217
). At the same level as currency
you will find pricing
, which incudes a list of allowed actions: register
, renew
, transfer
and restore
. Each of these actions includes the price for the requested years, with the price of the action per year. That is: com
-> pricing
-> register
-> 5
contains the yearly price for registering a .com domain for 5 years.
Extensions
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/domains/extensions" \
-H "X-TCpanel-Token: token"
Domain list
GET: /domains/domains
(secured)
Refer to the domain details documentation to know more about each attribute.
Further to filtering on the attributes documented in listings, it is possible to filter by multiple parameters.
Parameter | Type | Description |
---|---|---|
name | string | Full domain name. |
registrant | integer | Owner ID |
administrative | integer | Contact ID |
technical | integer | Contact ID |
billing | integer | Contact ID |
auto_renew | boolean | Auto renewal |
privacy | boolean | Privacy |
protection | boolean | Transfer protection |
gdpr_enable | boolean | GDPR |
expires_after | date | Expires after |
expires_before | date | Expires before |
status | string[] | Status status |
tecnical_status | string[] | Tecnical status tecnical statuses |
limit | integer | Maximum number of results to be returned listings |
offset | integer | Offset to start returning results listings |
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/domains/domains.json?registrant=ID&administrative=ID&technical=ID&billing=ID&auto_renew=true&privacy=false&protection=true&gdpr_enable=false&expires_after=2024-01-01&expires_before=2023-05-01&status=expired,paid,active&tecnical_status=client_hold&limit=10&offset=0"
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/domains/domains.json?registrant=ID&administrative=ID&technical=ID&billing=ID&auto_renew=true&privacy=false&protection=true&gdpr_enable=false&expires_after=2024-01-01&expires_before=2023-05-01&status=expired,paid,active&tecnical_status=client_hold&limit=10&offset=0"
Possible Responses
200
Domain list
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/domains/domains" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
[
{
"id" : 366,
"name" : "domain-pasotkvhcp.com",
"created_at" : "2015-04-17T19:59:17.000+02:00",
"updated_at" : "2015-09-21T12:19:03.000+02:00",
"auto_renew" : null,
"privacy" : false,
"protection" : true,
"authcode" : "1t5q1stjB",
"transfer_date_requested" : null,
"nameservers" : [
"dns3.debian.org",
"dns4.debian.org"
],
"contacts" : {
"registrant" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"administrative" : {
"id" : 473,
"name" : "Nómbre",
"company" : null,
"email" : "PruebaWelcome3@PruebaWelcome.com",
"address" : "PruebaWelcome3",
"city" : "fsds",
"state" : "Avila",
"country" : "ES",
"zipcode" : "22222",
"phonecc" : "0",
"phone" : "676767676",
"created_at" : "2015-07-29T15:25:33.000+02:00",
"updated_at" : "2015-09-21T12:18:35.000+02:00",
"ic" : "N/A",
"faxcc" : null,
"fax" : null,
"lastname" : "Apéllidos",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"billing" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"technical" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
},
"product_info" : {
"product_status" : "active",
"product_technical_status" : null,
"product_periodicity" : "not_recurrent",
"product_expiration" : "2055-04-17"
}
},
{
"id" : 367,
"name" : "domain-btcknuweuh.com",
"created_at" : "2015-04-17T19:59:18.000+02:00",
"updated_at" : "2015-04-17T19:59:20.000+02:00",
"auto_renew" : null,
"privacy" : false,
"protection" : true,
"authcode" : "5No651D57",
"transfer_date_requested" : null,
"nameservers" : [
"ns1.tecnocratica.net",
"ns2.tecnocratica.net"
],
"contacts" : {
"registrant" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"administrative" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"billing" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"technical" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
},
"product_info" : {
"product_status" : "active",
"product_technical_status" : null,
"product_periodicity" : "not_recurrent",
"product_expiration" : "2022-04-17"
}
}
]
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<domains>
<domain>
<id>366</id>
<name>domain-pasotkvhcp.com</name>
<created-at>2015-04-17T19:59:17+02:00</created-at>
<updated-at>2015-09-21T12:19:03+02:00</updated-at>
<auto-renew nil="true"/>
<privacy>false</privacy>
<protection>true</protection>
<authcode>1t5q1stjB</authcode>
<transfer-date-requested nil="true"/>
<nameservers>
<nameserver>dns3.debian.org</nameserver>
<nameserver>dns4.debian.org</nameserver>
</nameservers>
<contacts>
<registrant>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</registrant>
<administrative>
<id>473</id>
<name>Nómbre</name>
<company nil="true"/>
<email>PruebaWelcome3@PruebaWelcome.com</email>
<address>PruebaWelcome3</address>
<city>fsds</city>
<state>Avila</state>
<country>ES</country>
<zipcode>22222</zipcode>
<phonecc>0</phonecc>
<phone>676767676</phone>
<created-at>2015-07-29T15:25:33+02:00</created-at>
<updated-at>2015-09-21T12:18:35+02:00</updated-at>
<ic>N/A</ic>
<faxcc nil="true"/>
<fax nil="true"/>
<lastname>Apéllidos</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</administrative>
<billing>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</billing>
<technical>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</technical>
</contacts>
<product-info>
<product-status>active</product-status>
<product-technical-status nil="true"/>
<product-periodicity>not_recurrent</product-periodicity>
<product-expiration>2055-04-17</product-expiration>
</product-info>
</domain>
<domain>
<id>367</id>
<name>domain-btcknuweuh.com</name>
<created-at>2015-04-17T19:59:18+02:00</created-at>
<updated-at>2015-04-17T19:59:20+02:00</updated-at>
<auto-renew nil="true"/>
<privacy>false</privacy>
<protection>true</protection>
<authcode>5No651D57</authcode>
<transfer-date-requested nil="true"/>
<nameservers>
<nameserver>ns1.tecnocratica.net</nameserver>
<nameserver>ns2.tecnocratica.net</nameserver>
</nameservers>
<contacts>
<registrant>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</registrant>
<administrative>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</administrative>
<billing>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</billing>
<technical>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</technical>
</contacts>
<product-info>
<product-status>active</product-status>
<product-technical-status nil="true"/>
<product-periodicity>not_recurrent</product-periodicity>
<product-expiration>2022-04-17</product-expiration>
</product-info>
</domain>
</domains>
Type
any
Domain detail
GET: /domains/domains/{domainId}
(secured)
Attribute | Type | Description |
---|---|---|
id | integer | Identifier |
name | string | Domain name (TLD included) |
auto_renew | boolean | Auto renew |
privacy | boolean | Contacts privacy (not supported by all the TLD's) |
protection | boolean | Transfer protection (not supported by all the TLD's) |
authcode | string | Domain auth code |
transfer_date_requested | datetime | If the domain is an external transfer, timestamp of the latest transfer request |
contacts | object | Includes the identifiers of the domains (registrant , administrative , technical , billing ) |
product_status
Further to the status documented in the any product or service detail documentation, domains can have several new values, as below:
Value | Description |
---|---|
transferring | The domain is being transferred to your customer account |
transfer_expired | The domain transfer expired or was cancelled by the client or the losing provider. You may restart the transfer to try again. Restarting the transfer does not carry any additional cost |
outbound_transfer | The domain was transferred to other provider and we have lost control over it |
expired | The domain is expired. While the domain is in this status, it is still possible to request its renewal |
redemption | The domain is in redemption period. It is possible to request its redemption |
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Domain detail
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/domains/domains/{domainId}" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"id" : 366,
"name" : "domain-pasotkvhcp.com",
"created_at" : "2015-04-17T19:59:17.000+02:00",
"updated_at" : "2015-09-21T12:19:03.000+02:00",
"auto_renew" : null,
"privacy" : false,
"protection" : true,
"authcode" : "1t5q1stjB",
"transfer_date_requested" : null,
"nameservers" : [
"dns3.debian.org",
"dns4.debian.org"
],
"contacts" : {
"registrant" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"administrative" : {
"id" : 473,
"name" : "Nómbre",
"company" : null,
"email" : "PruebaWelcome3@PruebaWelcome.com",
"address" : "PruebaWelcome3",
"city" : "fsds",
"state" : "Avila",
"country" : "ES",
"zipcode" : "22222",
"phonecc" : "0",
"phone" : "676767676",
"created_at" : "2015-07-29T15:25:33.000+02:00",
"updated_at" : "2015-09-21T12:18:35.000+02:00",
"ic" : "N/A",
"faxcc" : null,
"fax" : null,
"lastname" : "Apéllidos",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"billing" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"technical" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
},
"product_info" : {
"product_status" : "active",
"product_technical_status" : null,
"product_periodicity" : "not_recurrent",
"product_expiration" : "2055-04-17"
}
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<domain>
<id>366</id>
<name>domain-pasotkvhcp.com</name>
<created-at>2015-04-17T19:59:17+02:00</created-at>
<updated-at>2015-09-21T12:19:03+02:00</updated-at>
<auto-renew nil="true"/>
<privacy>false</privacy>
<protection>true</protection>
<authcode>1t5q1stjB</authcode>
<transfer-date-requested nil="true"/>
<nameservers>
<nameserver>dns3.debian.org</nameserver>
<nameserver>dns4.debian.org</nameserver>
</nameservers>
<contacts>
<registrant>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</registrant>
<administrative>
<id>473</id>
<name>Nómbre</name>
<company nil="true"/>
<email>PruebaWelcome3@PruebaWelcome.com</email>
<address>PruebaWelcome3</address>
<city>fsds</city>
<state>Avila</state>
<country>ES</country>
<zipcode>22222</zipcode>
<phonecc>0</phonecc>
<phone>676767676</phone>
<created-at>2015-07-29T15:25:33+02:00</created-at>
<updated-at>2015-09-21T12:18:35+02:00</updated-at>
<ic>N/A</ic>
<faxcc nil="true"/>
<fax nil="true"/>
<lastname>Apéllidos</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</administrative>
<billing>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</billing>
<technical>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</technical>
</contacts>
<product-info>
<product-status>active</product-status>
<product-technical-status nil="true"/>
<product-periodicity>not_recurrent</product-periodicity>
<product-expiration>2055-04-17</product-expiration>
</product-info>
</domain>
Type
any
Update domain (PUT)
PUT: /domains/domains/{domainId}
(secured)
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Update domain (PUT)
CURL EXAMPLE
curl -X PUT "https://api.virtualname.net/v1/domains/domains/{domainId}" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "domain" : { "nameservers" : ["dns3.debian.org", "dns4.debian.org"] } }
Type
any
{ "domain" : { "nameservers" : ["dns3.debian.org", "dns4.debian.org"] } }
Type
any
RESPONSE BODY
200
{
"id" : 366,
"name" : "domain-pasotkvhcp.com",
"created_at" : "2015-04-17T19:59:17.000+02:00",
"updated_at" : "2015-09-21T14:40:22.000+02:00",
"auto_renew" : null,
"privacy" : false,
"protection" : true,
"authcode" : "1t5q1stjB",
"transfer_date_requested" : null,
"nameservers" : [
"dns3.debian.org",
"dns4.debian.org"
],
"contacts" : {
"registrant" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"administrative" : {
"id" : 473,
"name" : "Nómbre",
"company" : null,
"email" : "PruebaWelcome3@PruebaWelcome.com",
"address" : "PruebaWelcome3",
"city" : "fsds",
"state" : "Avila",
"country" : "ES",
"zipcode" : "22222",
"phonecc" : "0",
"phone" : "676767676",
"created_at" : "2015-07-29T15:25:33.000+02:00",
"updated_at" : "2015-09-21T12:18:35.000+02:00",
"ic" : "N/A",
"faxcc" : null,
"fax" : null,
"lastname" : "Apéllidos",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"billing" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"technical" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
},
"product_info" : {
"product_status" : "active",
"product_technical_status" : null,
"product_periodicity" : "not_recurrent",
"product_expiration" : "2055-04-17"
}
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<domain>
<id>366</id>
<name>domain-pasotkvhcp.com</name>
<created-at>2015-04-17T19:59:17+02:00</created-at>
<updated-at>2015-09-21T14:40:22+02:00</updated-at>
<auto-renew nil="true"/>
<privacy>false</privacy>
<protection>true</protection>
<authcode>1t5q1stjB</authcode>
<transfer-date-requested nil="true"/>
<nameservers>
<nameserver>dns3.debian.org</nameserver>
<nameserver>dns4.debian.org</nameserver>
</nameservers>
<contacts>
<registrant>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</registrant>
<administrative>
<id>473</id>
<name>Nómbre</name>
<company nil="true"/>
<email>PruebaWelcome3@PruebaWelcome.com</email>
<address>PruebaWelcome3</address>
<city>fsds</city>
<state>Avila</state>
<country>ES</country>
<zipcode>22222</zipcode>
<phonecc>0</phonecc>
<phone>676767676</phone>
<created-at>2015-07-29T15:25:33+02:00</created-at>
<updated-at>2015-09-21T12:18:35+02:00</updated-at>
<ic>N/A</ic>
<faxcc nil="true"/>
<fax nil="true"/>
<lastname>Apéllidos</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</administrative>
<billing>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</billing>
<technical>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</technical>
</contacts>
<product-info>
<product-status>active</product-status>
<product-technical-status nil="true"/>
<product-periodicity>not_recurrent</product-periodicity>
<product-expiration>2055-04-17</product-expiration>
</product-info>
</domain>
Type
any
Update domain (PATCH)
PATCH: /domains/domains/{domainId}
(secured)
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Update domain (PATCH)
CURL EXAMPLE
curl -X PATCH "https://api.virtualname.net/v1/domains/domains/{domainId}" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "domain" : { "nameservers" : ["dns3.debian.org", "dns4.debian.org"] } }
Type
any
{ "domain" : { "nameservers" : ["dns3.debian.org", "dns4.debian.org"] } }
Type
any
RESPONSE BODY
200
{
"id" : 366,
"name" : "domain-pasotkvhcp.com",
"created_at" : "2015-04-17T19:59:17.000+02:00",
"updated_at" : "2015-09-21T14:40:22.000+02:00",
"auto_renew" : null,
"privacy" : false,
"protection" : true,
"authcode" : "1t5q1stjB",
"transfer_date_requested" : null,
"nameservers" : [
"dns3.debian.org",
"dns4.debian.org"
],
"contacts" : {
"registrant" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"administrative" : {
"id" : 473,
"name" : "Nómbre",
"company" : null,
"email" : "PruebaWelcome3@PruebaWelcome.com",
"address" : "PruebaWelcome3",
"city" : "fsds",
"state" : "Avila",
"country" : "ES",
"zipcode" : "22222",
"phonecc" : "0",
"phone" : "676767676",
"created_at" : "2015-07-29T15:25:33.000+02:00",
"updated_at" : "2015-09-21T12:18:35.000+02:00",
"ic" : "N/A",
"faxcc" : null,
"fax" : null,
"lastname" : "Apéllidos",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"billing" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"technical" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
},
"product_info" : {
"product_status" : "active",
"product_technical_status" : null,
"product_periodicity" : "not_recurrent",
"product_expiration" : "2055-04-17"
}
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<domain>
<id>366</id>
<name>domain-pasotkvhcp.com</name>
<created-at>2015-04-17T19:59:17+02:00</created-at>
<updated-at>2015-09-21T14:40:22+02:00</updated-at>
<auto-renew nil="true"/>
<privacy>false</privacy>
<protection>true</protection>
<authcode>1t5q1stjB</authcode>
<transfer-date-requested nil="true"/>
<nameservers>
<nameserver>dns3.debian.org</nameserver>
<nameserver>dns4.debian.org</nameserver>
</nameservers>
<contacts>
<registrant>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</registrant>
<administrative>
<id>473</id>
<name>Nómbre</name>
<company nil="true"/>
<email>PruebaWelcome3@PruebaWelcome.com</email>
<address>PruebaWelcome3</address>
<city>fsds</city>
<state>Avila</state>
<country>ES</country>
<zipcode>22222</zipcode>
<phonecc>0</phonecc>
<phone>676767676</phone>
<created-at>2015-07-29T15:25:33+02:00</created-at>
<updated-at>2015-09-21T12:18:35+02:00</updated-at>
<ic>N/A</ic>
<faxcc nil="true"/>
<fax nil="true"/>
<lastname>Apéllidos</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</administrative>
<billing>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</billing>
<technical>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</technical>
</contacts>
<product-info>
<product-status>active</product-status>
<product-technical-status nil="true"/>
<product-periodicity>not_recurrent</product-periodicity>
<product-expiration>2055-04-17</product-expiration>
</product-info>
</domain>
Type
any
Domain renewal
POST: /domains/domains/{domainId}/renew
(secured)
To renew a domain it is required to provide the current expiration year and the number of years you want the domain to be renewed. If for whatever reason you are under the assumption that the domain had not been renewed but it had, the action will not be executed and an error will be returned, because the parameter expiration_year
you will have provided will not match the actual domain expiration.
Attribute | Type | Description |
---|---|---|
expiration_year | integer | Current domain expiration year |
years | integer | Years to renew the domain for |
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Domain renewal
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/domains/domains/{domainId}/renew" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "domain" : { "expiration_year" : 1990, "years" : 1 } }
Type
any
{ "domain" : { "expiration_year" : 1990, "years" : 1 } }
Type
any
RESPONSE BODY
200
{
"id" : 366,
"name" : "domain-pasotkvhcp.com",
"created_at" : "2015-04-17T19:59:17.000+02:00",
"updated_at" : "2015-09-21T14:40:22.000+02:00",
"auto_renew" : null,
"privacy" : false,
"protection" : true,
"authcode" : "1t5q1stjB",
"transfer_date_requested" : null,
"nameservers" : [
"dns3.debian.org",
"dns4.debian.org"
],
"contacts" : {
"registrant" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"administrative" : {
"id" : 473,
"name" : "Nómbre",
"company" : null,
"email" : "PruebaWelcome3@PruebaWelcome.com",
"address" : "PruebaWelcome3",
"city" : "fsds",
"state" : "Avila",
"country" : "ES",
"zipcode" : "22222",
"phonecc" : "0",
"phone" : "676767676",
"created_at" : "2015-07-29T15:25:33.000+02:00",
"updated_at" : "2015-09-21T12:18:35.000+02:00",
"ic" : "N/A",
"faxcc" : null,
"fax" : null,
"lastname" : "Apéllidos",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"billing" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"technical" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
},
"product_info" : {
"product_status" : "active",
"product_technical_status" : null,
"product_periodicity" : "not_recurrent",
"product_expiration" : "2055-04-17"
}
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<domain>
<id>366</id>
<name>domain-pasotkvhcp.com</name>
<created-at>2015-04-17T19:59:17+02:00</created-at>
<updated-at>2015-09-21T14:40:22+02:00</updated-at>
<auto-renew nil="true"/>
<privacy>false</privacy>
<protection>true</protection>
<authcode>1t5q1stjB</authcode>
<transfer-date-requested nil="true"/>
<nameservers>
<nameserver>dns3.debian.org</nameserver>
<nameserver>dns4.debian.org</nameserver>
</nameservers>
<contacts>
<registrant>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</registrant>
<administrative>
<id>473</id>
<name>Nómbre</name>
<company nil="true"/>
<email>PruebaWelcome3@PruebaWelcome.com</email>
<address>PruebaWelcome3</address>
<city>fsds</city>
<state>Avila</state>
<country>ES</country>
<zipcode>22222</zipcode>
<phonecc>0</phonecc>
<phone>676767676</phone>
<created-at>2015-07-29T15:25:33+02:00</created-at>
<updated-at>2015-09-21T12:18:35+02:00</updated-at>
<ic>N/A</ic>
<faxcc nil="true"/>
<fax nil="true"/>
<lastname>Apéllidos</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</administrative>
<billing>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</billing>
<technical>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</technical>
</contacts>
<product-info>
<product-status>active</product-status>
<product-technical-status nil="true"/>
<product-periodicity>not_recurrent</product-periodicity>
<product-expiration>2055-04-17</product-expiration>
</product-info>
</domain>
Type
any
Domain restore
POST: /domains/domains/{domainId}/restore
(secured)
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Domain restore
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/domains/domains/{domainId}/restore" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
[object Object]
Type
any
[object Object]
Type
any
RESPONSE BODY
200
[object Object]
Type
any
200
[object Object]
Type
any
Resend transfer authcode
POST: /domains/domains/{domainId}/transfer-authcode
(secured)
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
Resend transfer authcode
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/domains/domains/{domainId}/transfer-authcode" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{
"domain" :
{
"authcode" : "e^u23$!"
}
}
Type
any
{
"domain" :
{
"authcode" : "e^u23$!"
}
}
Type
any
Domain availability for registration
POST: /domains/domains/register/available
(secured)
Checks if a list of domains is available for registration.
Possible Responses
200
Domain availability for registration
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/domains/domains/register/available" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "domains" : ["domain-hdacfnemxz.com", "domain-zapdklsvjo.net", "api.org"] }
Type
any
{ "domains" : ["domain-hdacfnemxz.com", "domain-zapdklsvjo.net", "api.org"] }
Type
any
RESPONSE BODY
200
{
"domain-hdacfnemxz.com" : true,
"domain-zapdklsvjo.net" : false,
"api.org" : false
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<register-available>
<domain-hdacfnemxz.com>true</domain-hdacfnemxz.com>
<domain-zapdklsvjo.net>false</domain-zapdklsvjo.net>
<api.org>false</api.org>
</register-available>
Type
any
Register domain
POST: /domains/domains/register
(secured)
Possible Responses
200
Register domain
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/domains/domains/register" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "domain" : { "name" : "domain-cemrvupvtu.com", "contacts" : { "registrant" : 233, "administrative" : 233, "technical" : 233, "billing" : 233 }, "auto_renew" : true, "years" : 5, "nameservers" : ["dns1.debian.org", "dns2.debian.org"] } }
Type
any
{ "domain" : { "name" : "domain-cemrvupvtu.com", "contacts" : { "registrant" : 233, "administrative" : 233, "technical" : 233, "billing" : 233 }, "auto_renew" : true, "years" : 5, "nameservers" : ["dns1.debian.org", "dns2.debian.org"] } }
Type
any
RESPONSE BODY
200
{
"id" : 746,
"name" : "domain-cemrvupvtu.com",
"created_at" : "2015-09-21T14:40:20.000+02:00",
"updated_at" : "2015-09-21T14:40:20.000+02:00",
"auto_renew" : true,
"privacy" : null,
"protection" : null,
"authcode" : null,
"transfer_date_requested" : null,
"nameservers" : [
"dns1.debian.org",
"dns2.debian.org"
],
"contacts" : {
"registrant" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"administrative" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"billing" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"technical" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
},
"product_info" : {
"product_status" : "paid",
"product_technical_status" : null,
"product_periodicity" : "not_recurrent",
"product_expiration" : null
}
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<domain>
<id>747</id>
<name>domain-ypotqqjgaz.com</name>
<created-at>2015-09-21T14:40:20+02:00</created-at>
<updated-at>2015-09-21T14:40:21+02:00</updated-at>
<auto-renew>true</auto-renew>
<privacy nil="true"/>
<protection nil="true"/>
<authcode nil="true"/>
<transfer-date-requested nil="true"/>
<nameservers>
<nameserver>dns1.debian.org</nameserver>
<nameserver>dns2.debian.org</nameserver>
</nameservers>
<contacts>
<registrant>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</registrant>
<administrative>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</administrative>
<billing>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</billing>
<technical>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</technical>
</contacts>
<product-info>
<product-status>paid</product-status>
<product-technical-status nil="true"/>
<product-periodicity>not_recurrent</product-periodicity>
<product-expiration nil="true"/>
</product-info>
</domain>
Type
any
Domain availability for transfer
POST: /domains/domains/transfer/available
(secured)
Checks if a list of domains is available for transfer.
Depending on domain type, a check as to whether the domain is already registered will be made, and in the event that it is already registered, a check will be made as to whether its status allows for its transfer.
Possible Responses
200
Domain availability for transfer
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/domains/domains/transfer/available" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "domains" : ["example.com", "api.org"] }
Type
any
{ "domains" : ["example.com", "api.org"] }
Type
any
RESPONSE BODY
200
{
"domain-dxetkovqwa.com" : true,
"domain-pqapprykdg.net" : false,
"api.org" : false,
"hello.es" : false
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<transfer-available>
<domain-dxetkovqwa.com>true</domain-dxetkovqwa.com>
<domain-pqapprykdg.net>false</domain-pqapprykdg.net>
<api.org>false</api.org>
<hello.es>false</hello.es>
</transfer-available>
Type
any
Transfer domain
POST: /domains/domains/transfer
(secured)
Possible Responses
200
Transfer domain
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/domains/domains/transfer" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "domain" : { "name" : "domain-dqwvnwnkgm.com", "contacts" : { "registrant" : 233, "administrative" : 233, "technical" : 233, "billing" : 233 }, "authcode" : "e^u23$!", "auto_renew" : true } }
Type
any
{ "domain" : { "name" : "domain-dqwvnwnkgm.com", "contacts" : { "registrant" : 233, "administrative" : 233, "technical" : 233, "billing" : 233 }, "authcode" : "e^u23$!", "auto_renew" : true } }
Type
any
RESPONSE BODY
200
{
"id" : 748,
"name" : "domain-bloeviyprk.com",
"created_at" : "2015-09-21T14:40:21.000+02:00",
"updated_at" : "2015-09-21T14:40:21.000+02:00",
"auto_renew" : true,
"privacy" : null,
"protection" : null,
"authcode" : "y3%",
"transfer_date_requested" : null,
"nameservers" : [
],
"contacts" : {
"registrant" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"administrative" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"billing" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"technical" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
},
"product_info" : {
"product_status" : "paid",
"product_technical_status" : null,
"product_periodicity" : "not_recurrent",
"product_expiration" : null
}
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<domain>
<id>749</id>
<name>domain-dqwvnwnkgm.com</name>
<created-at>2015-09-21T14:40:21+02:00</created-at>
<updated-at>2015-09-21T14:40:21+02:00</updated-at>
<auto-renew>true</auto-renew>
<privacy nil="true"/>
<protection nil="true"/>
<authcode>e^u23$!</authcode>
<transfer-date-requested nil="true"/>
<nameservers/>
<contacts>
<registrant>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</registrant>
<administrative>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</administrative>
<billing>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</billing>
<technical>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</technical>
</contacts>
<product-info>
<product-status>paid</product-status>
<product-technical-status nil="true"/>
<product-periodicity>not_recurrent</product-periodicity>
<product-expiration nil="true"/>
</product-info>
</domain>
Type
any
Host list
GET: /domains/domains/{domainId}/hosts
(secured)
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Host list
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/domains/domains/{domainId}/hosts" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
[
{
"id" : 224,
"name" : "dns1",
"ips" : [
"8.8.8.8",
"8.8.4.4"
]
}
]
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<hosts>
<host>
<id>224</id>
<name>dns1</name>
<ips>
<ip>8.8.8.8</ip>
<ip>8.8.4.4</ip>
</ips>
</host>
</hosts>
Type
any
Create host
POST: /domains/domains/{domainId}/hosts
(secured)
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
201
Create host
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/domains/domains/{domainId}/hosts" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "host" : { "name" : "ns1", "ips" : ["8.8.8.8", "8.8.4.4"] } }
Type
any
{ "host" : { "name" : "ns1", "ips" : ["8.8.8.8", "8.8.4.4"] } }
Type
any
RESPONSE BODY
201
{
"id" : 224,
"name" : "dns1",
"ips" : [
"8.8.8.8",
"8.8.4.4"
]
}
Type
any
201
<?xml version="1.0" encoding="UTF-8"?>
<host>
<id>224</id>
<name>dns1</name>
<ips>
<ip>8.8.8.8</ip>
<ip>8.8.4.4</ip>
</ips>
</host>
Type
any
Host detail
GET: /domains/domains/{domainId}/hosts/{hostId}
(secured)
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
hostId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Host detail
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/domains/domains/{domainId}/hosts/{hostId}" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"id" : 224,
"name" : "dns1",
"ips" : [
"8.8.8.8",
"8.8.4.4"
]
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<host>
<id>224</id>
<name>dns1</name>
<ips>
<ip>8.8.8.8</ip>
<ip>8.8.4.4</ip>
</ips>
</host>
Type
any
Update host (PUT)
PUT: /domains/domains/{domainId}/hosts/{hostId}
(secured)
Updates the IP addresses for a host or glue record.
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
hostId
Property | Value |
---|---|
required | true |
type | string |
Update host (PUT)
CURL EXAMPLE
curl -X PUT "https://api.virtualname.net/v1/domains/domains/{domainId}/hosts/{hostId}" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
Update host (PATCH)
PATCH: /domains/domains/{domainId}/hosts/{hostId}
(secured)
Updates the IP addresses for a host or glue record.
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
hostId
Property | Value |
---|---|
required | true |
type | string |
Update host (PATCH)
CURL EXAMPLE
curl -X PATCH "https://api.virtualname.net/v1/domains/domains/{domainId}/hosts/{hostId}" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
Delete host
DELETE: /domains/domains/{domainId}/hosts/{hostId}
(secured)
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
hostId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Delete host
CURL EXAMPLE
curl -X DELETE "https://api.virtualname.net/v1/domains/domains/{domainId}/hosts/{hostId}" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"id" : 224,
"name" : "dns1",
"ips" : [
"8.8.8.8",
"8.8.4.4"
]
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<host>
<id>224</id>
<name>dns1</name>
<ips>
<ip>8.8.8.8</ip>
<ip>8.8.4.4</ip>
</ips>
</host>
Type
any
Get domain redirection
GET: /domains/domains/{domainId}/redirection
(secured)
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Get domain redirection
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/domains/domains/{domainId}/redirection" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"redirection": "https://domain.tld",
"type": 302,
"created_at": "2023-05-10T14:30:50.000+02:00",
"updated_at": "2023-05-10T14:30:50.000+02:00"
}
Type
any
200
<?xml version="1.0" encoding="UTF-8" ?>
<redirection>
<redirection>https://tecnocratica.net</redirection>
<type>302</type>
<created-at>2023-05-10T14:30:50+02:00</created-at>
<updated-at>2023-05-10T14:30:50+02:00</updated-at>
</redirection>
Type
any
Create domain redirection
POST: /domains/domains/{domainId}/redirection
(secured)
Mandatory attributes
type
The field type is always mandatory when creating a redirection.
Type PERMANENT
content
is mandatory.
Type TEMPORARY
content
is mandatory.
url
The field url is always mandatory when creating a redirection.
Url
content
is mandatory and must be a valid URL address with scheme.
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
201
Create domain redirection
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/domains/domains/{domainId}/redirection" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "redirection":{ "url": "domain.tld", "type": "permanent|temporary" } }
Type
any
{ "redirection":{ "url": "domain.tld", "type": "permanent|temporary" } }
Type
any
RESPONSE BODY
201
{
"redirection": "https://domain.tld",
"type": 302,
"created_at": "2023-05-10T14:30:50.000+02:00",
"updated_at": "2023-05-10T14:30:50.000+02:00"
}
Type
any
201
<?xml version="1.0" encoding="UTF-8" ?>
<redirection>
<redirection>https://tecnocratica.net</redirection>
<type>302</type>
<created-at>2023-05-10T14:30:50+02:00</created-at>
<updated-at>2023-05-10T14:30:50+02:00</updated-at>
</redirection>
Type
any
Delete domain redirection
DELETE: /domains/domains/{domainId}/redirection
(secured)
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Delete domain redirection
CURL EXAMPLE
curl -X DELETE "https://api.virtualname.net/v1/domains/domains/{domainId}/redirection" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"redirection": "https://domain.tld",
"type": 302,
"created_at": "2023-05-10T14:30:50.000+02:00",
"updated_at": "2023-05-10T14:30:50.000+02:00"
}
Type
any
200
<?xml version="1.0" encoding="UTF-8" ?>
<redirection>
<redirection>https://tecnocratica.net</redirection>
<type>302</type>
<created-at>2023-05-10T14:30:50+02:00</created-at>
<updated-at>2023-05-10T14:30:50+02:00</updated-at>
</redirection>
Type
any
Mass domain registration
POST: /domains/bulk/register
(secured)
Possible Responses
200
Mass domain registration
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/domains/bulk/register" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
RESPONSE BODY
Mass domain transfer
POST: /domains/bulk/transfer
(secured)
Possible Responses
200
Mass domain transfer
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/domains/bulk/transfer" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
RESPONSE BODY
Mass domain renewal
POST: /domains/bulk/renew
(secured)
Possible Responses
200
Mass domain renewal
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/domains/bulk/renew" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
RESPONSE BODY
Mass domain update
POST: /domains/bulk/update
(secured)
Possible Responses
200
Mass domain update
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/domains/bulk/update" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
RESPONSE BODY
Subclient domain list
GET: /domains/subclients
(secured)
Possible Responses
200
Subclient domain list
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/domains/subclients" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
[
{
"id" : 366,
"name" : "domain-pasotkvhcp.com",
"created_at" : "2015-04-17T19:59:17.000+02:00",
"updated_at" : "2015-09-21T12:19:03.000+02:00",
"auto_renew" : null,
"privacy" : false,
"protection" : true,
"authcode" : "1t5q1stjB",
"transfer_date_requested" : null,
"nameservers" : [
"dns3.debian.org",
"dns4.debian.org"
],
"contacts" : {
"registrant" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"administrative" : {
"id" : 473,
"name" : "Nómbre",
"company" : null,
"email" : "PruebaWelcome3@PruebaWelcome.com",
"address" : "PruebaWelcome3",
"city" : "fsds",
"state" : "Avila",
"country" : "ES",
"zipcode" : "22222",
"phonecc" : "0",
"phone" : "676767676",
"created_at" : "2015-07-29T15:25:33.000+02:00",
"updated_at" : "2015-09-21T12:18:35.000+02:00",
"ic" : "N/A",
"faxcc" : null,
"fax" : null,
"lastname" : "Apéllidos",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"billing" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"technical" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
},
"product_info" : {
"product_status" : "active",
"product_technical_status" : null,
"product_periodicity" : "not_recurrent",
"product_expiration" : "2055-04-17"
}
},
{
"id" : 367,
"name" : "domain-btcknuweuh.com",
"created_at" : "2015-04-17T19:59:18.000+02:00",
"updated_at" : "2015-04-17T19:59:20.000+02:00",
"auto_renew" : null,
"privacy" : false,
"protection" : true,
"authcode" : "5No651D57",
"transfer_date_requested" : null,
"nameservers" : [
"ns1.tecnocratica.net",
"ns2.tecnocratica.net"
],
"contacts" : {
"registrant" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"administrative" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"billing" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"technical" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
},
"product_info" : {
"product_status" : "active",
"product_technical_status" : null,
"product_periodicity" : "not_recurrent",
"product_expiration" : "2022-04-17"
}
}
]
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<domains>
<domain>
<id>366</id>
<name>domain-pasotkvhcp.com</name>
<created-at>2015-04-17T19:59:17+02:00</created-at>
<updated-at>2015-09-21T12:19:03+02:00</updated-at>
<auto-renew nil="true"/>
<privacy>false</privacy>
<protection>true</protection>
<authcode>1t5q1stjB</authcode>
<transfer-date-requested nil="true"/>
<nameservers>
<nameserver>dns3.debian.org</nameserver>
<nameserver>dns4.debian.org</nameserver>
</nameservers>
<contacts>
<registrant>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</registrant>
<administrative>
<id>473</id>
<name>Nómbre</name>
<company nil="true"/>
<email>PruebaWelcome3@PruebaWelcome.com</email>
<address>PruebaWelcome3</address>
<city>fsds</city>
<state>Avila</state>
<country>ES</country>
<zipcode>22222</zipcode>
<phonecc>0</phonecc>
<phone>676767676</phone>
<created-at>2015-07-29T15:25:33+02:00</created-at>
<updated-at>2015-09-21T12:18:35+02:00</updated-at>
<ic>N/A</ic>
<faxcc nil="true"/>
<fax nil="true"/>
<lastname>Apéllidos</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</administrative>
<billing>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</billing>
<technical>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</technical>
</contacts>
<product-info>
<product-status>active</product-status>
<product-technical-status nil="true"/>
<product-periodicity>not_recurrent</product-periodicity>
<product-expiration>2055-04-17</product-expiration>
</product-info>
</domain>
<domain>
<id>367</id>
<name>domain-btcknuweuh.com</name>
<created-at>2015-04-17T19:59:18+02:00</created-at>
<updated-at>2015-04-17T19:59:20+02:00</updated-at>
<auto-renew nil="true"/>
<privacy>false</privacy>
<protection>true</protection>
<authcode>5No651D57</authcode>
<transfer-date-requested nil="true"/>
<nameservers>
<nameserver>ns1.tecnocratica.net</nameserver>
<nameserver>ns2.tecnocratica.net</nameserver>
</nameservers>
<contacts>
<registrant>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</registrant>
<administrative>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</administrative>
<billing>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</billing>
<technical>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</technical>
</contacts>
<product-info>
<product-status>active</product-status>
<product-technical-status nil="true"/>
<product-periodicity>not_recurrent</product-periodicity>
<product-expiration>2022-04-17</product-expiration>
</product-info>
</domain>
</domains>
Type
any
Subclient domain detail
GET: /domains/subclients/{domainId}
(secured)
Attribute | Type | Description |
---|---|---|
id | integer | Identifier |
name | string | Domain name (TLD included) |
auto_renew | boolean | Auto renew |
privacy | boolean | Contacts privacy (not supported by all the TLD's) |
protection | boolean | Transfer protection (not supported by all the TLD's) |
authcode | string | Domain auth code |
transfer_date_requested | datetime | If the domain is an external transfer, timestamp of the latest transfer request |
contacts | object | Includes the identifiers of the domains (registrant , administrative , technical , billing ) |
product_status
Further to the status documented in the any product or service detail documentation, domains can have several new values, as below:
Value | Description |
---|---|
transferring | The domain is being transferred to your customer account |
transfer_expired | The domain transfer expired or was cancelled by the client or the losing provider. You may restart the transfer to try again. Restarting the transfer does not carry any additional cost |
outbound_transfer | The domain was transferred to other provider and we have lost control over it |
expired | The domain is expired. While the domain is in this status, it is still possible to request its renewal |
redemption | The domain is in redemption period. It is possible to request its redemption |
URI Parameters
domainId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Subclient domain detail
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/domains/subclients/{domainId}" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"id" : 366,
"name" : "domain-pasotkvhcp.com",
"created_at" : "2015-04-17T19:59:17.000+02:00",
"updated_at" : "2015-09-21T12:19:03.000+02:00",
"auto_renew" : null,
"privacy" : false,
"protection" : true,
"authcode" : "1t5q1stjB",
"transfer_date_requested" : null,
"nameservers" : [
"dns3.debian.org",
"dns4.debian.org"
],
"contacts" : {
"registrant" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"administrative" : {
"id" : 473,
"name" : "Nómbre",
"company" : null,
"email" : "PruebaWelcome3@PruebaWelcome.com",
"address" : "PruebaWelcome3",
"city" : "fsds",
"state" : "Avila",
"country" : "ES",
"zipcode" : "22222",
"phonecc" : "0",
"phone" : "676767676",
"created_at" : "2015-07-29T15:25:33.000+02:00",
"updated_at" : "2015-09-21T12:18:35.000+02:00",
"ic" : "N/A",
"faxcc" : null,
"fax" : null,
"lastname" : "Apéllidos",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"billing" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
},
"technical" : {
"id" : 233,
"name" : "Nómbre",
"company" : "Neodigit",
"email" : "info@neodigit.es",
"address" : "Calle Agosto, 6 b",
"city" : "Madrid",
"state" : "Madrid",
"country" : "ES",
"zipcode" : "28022",
"phonecc" : "34",
"phone" : "34910059090",
"created_at" : "2015-04-17T19:56:10.000+02:00",
"updated_at" : "2015-07-29T15:24:44.000+02:00",
"ic" : "N/A",
"faxcc" : "34",
"fax" : "910059090",
"lastname" : "Apéllidossafdasd",
"birthdate" : null,
"birthplace" : null,
"passport" : null
}
},
"product_info" : {
"product_status" : "active",
"product_technical_status" : null,
"product_periodicity" : "not_recurrent",
"product_expiration" : "2055-04-17"
}
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<domain>
<id>366</id>
<name>domain-pasotkvhcp.com</name>
<created-at>2015-04-17T19:59:17+02:00</created-at>
<updated-at>2015-09-21T12:19:03+02:00</updated-at>
<auto-renew nil="true"/>
<privacy>false</privacy>
<protection>true</protection>
<authcode>1t5q1stjB</authcode>
<transfer-date-requested nil="true"/>
<nameservers>
<nameserver>dns3.debian.org</nameserver>
<nameserver>dns4.debian.org</nameserver>
</nameservers>
<contacts>
<registrant>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</registrant>
<administrative>
<id>473</id>
<name>Nómbre</name>
<company nil="true"/>
<email>PruebaWelcome3@PruebaWelcome.com</email>
<address>PruebaWelcome3</address>
<city>fsds</city>
<state>Avila</state>
<country>ES</country>
<zipcode>22222</zipcode>
<phonecc>0</phonecc>
<phone>676767676</phone>
<created-at>2015-07-29T15:25:33+02:00</created-at>
<updated-at>2015-09-21T12:18:35+02:00</updated-at>
<ic>N/A</ic>
<faxcc nil="true"/>
<fax nil="true"/>
<lastname>Apéllidos</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</administrative>
<billing>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</billing>
<technical>
<id>233</id>
<name>Nómbre</name>
<company>Neodigit</company>
<email>info@neodigit.es</email>
<address>Calle Agosto, 6 b</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>28022</zipcode>
<phonecc>34</phonecc>
<phone>34910059090</phone>
<created-at>2015-04-17T19:56:10+02:00</created-at>
<updated-at>2015-07-29T15:24:44+02:00</updated-at>
<ic>N/A</ic>
<faxcc>34</faxcc>
<fax>910059090</fax>
<lastname>Apéllidossafdasd</lastname>
<birthdate nil="true"/>
<birthplace nil="true"/>
<passport nil="true"/>
</technical>
</contacts>
<product-info>
<product-status>active</product-status>
<product-technical-status nil="true"/>
<product-periodicity>not_recurrent</product-periodicity>
<product-expiration>2055-04-17</product-expiration>
</product-info>
</domain>
Type
any
TLD list for details
GET: /domains/knowledge-base
(secured)
Possible Responses
200
TLD list for details
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/domains/knowledge-base" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
[
"aaa.pro",
"abogado",
"ac",
"ac.mu",
"ac.nz",
"ac.vn",
"aca.pro",
"academy",
"accountant",
"accountants",
"acct.pro",
"actor",
"adult",
"adult.ht",
"ae",
"ae.org",
"aero",
"af"
]
Type
any
200
<strings>
<string>aaa.pro</string>
<string>abogado</string>
<string>ac</string>
<string>ac.mu</string>
<string>ac.nz</string>
<string>ac.vn</string>
<string>aca.pro</string>
<string>academy</string>
<string>accountant</string>
<string>accountants</string>
<string>acct.pro</string>
<string>actor</string>
<strings>
Type
any
TLD details
GET: /domains/knowledge-base/{tld}
(secured)
URI Parameters
tld
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
TLD details
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/domains/knowledge-base/{tld}" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"registrar":{
"allowed_characters": "a-z,0-9,-",
"allowed_number_of_ns": "2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13",
"authcode": true,
"dispute_policy": "http://www.icann.org/udrp/udrp-rules-24oct99.htm",
"dnssec_interface": "ds_data",
"explicit_renewals": true,
"idn": true,
"maximum_length": 63,
"minimum_length": 3,
"registry_url": "http://www.verisigninc.com/en_US/products-and-services/domain-name-services/registry-services/com-domain-names/index.xhtml",
"restore": "realtime",
"transfer_confirmation": "foa_email",
"transfer_lock": true,
"whois_server": "whois.internic.net",
"whois_update": "realtime",
"type": "gTLD",
"rtl": false,
"sponsor": "VeriSign Global Registry Services"
},
"periods":{
"autorenew_grace_period": 40,
"maximum_term": 10,
"redemption_period": 30,
"registration_periods": "1, 2, 3, 4, 5, 6, 7, 8, 9, 10",
"renewal_periods": "1, 2, 3, 4, 5, 6, 7, 8, 9, 10",
"transfer_pending_period": 5,
"transfer_periods": "1"
},
"contacts":{
"handle_updates": true,
"registrant_change_by": "automated",
"whois_privacy": true
}
}
Type
any
200
<?xml version="1.0" encoding="UTF-8" ?>
<hash>
<registrar>
<allowed-characters>a-z,0-9,-</allowed-characters>
<allowed-number-of-ns>2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13</allowed-number-of-ns>
<authcode>true</authcode>
<dispute-policy>http://www.icann.org/udrp/udrp-rules-24oct99.htm</dispute-policy>
<dnssec-interface>ds_data</dnssec-interface>
<explicit-renewals>true</explicit-renewals>
<idn>true</idn>
<maximum-length>63</maximum-length>
<minimum-length>3</minimum-length>
<registry-url>http://www.verisigninc.com/en_US/products-and-services/domain-name-services/registry-services/com-domain-names/index.xhtml</registry-url>
<restore>realtime</restore>
<transfer-confirmation>foa_email</transfer-confirmation>
<transfer-lock>true</transfer-lock>
<whois-server>whois.internic.net</whois-server>
<whois-update>realtime</whois-update>
<type>gTLD</type>
<rtl>false</rtl>
<sponsor>VeriSign Global Registry Services</sponsor>
</registrar>
<periods>
<autorenew-grace-period>40</autorenew-grace-period>
<maximum-term>10</maximum-term>
<redemption-period>30</redemption-period>
<registration-periods>1, 2, 3, 4, 5, 6, 7, 8, 9, 10</registration-periods>
<renewal-periods>1, 2, 3, 4, 5, 6, 7, 8, 9, 10</renewal-periods>
<transfer-pending-period>5</transfer-pending-period>
<transfer-periods>1</transfer-periods>
</periods>
<contacts>
<handle-updates>true</handle-updates>
<registrant-change-by>automated</registrant-change-by>
<whois-privacy>true</whois-privacy>
</contacts>
</hash>
Type
any
Dns
Zone list
GET: /dns/zones
(secured)
Refer to the zone detail documentation to know more about each attribute.
Possible Responses
200
Zone list
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/dns/zones" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
[
{
"id" : 6,
"name" : "myzone-ujuexzzzpw.com",
"created_at" : "2015-09-21T12:19:04.000+02:00",
"updated_at" : "2015-09-21T12:19:04.000+02:00",
"human_name" : "myzone-ujuexzzzpw.com"
}
]
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<zones>
<zone>
<id>6</id>
<name>myzone-ujuexzzzpw.com</name>
<created-at>2015-09-21T12:19:04+02:00</created-at>
<updated-at>2015-09-21T12:19:04+02:00</updated-at>
<human-name>myzone-ujuexzzzpw.com</human-name>
</zone>
</zones>
Type
any
Create zone
POST: /dns/zones
(secured)
Possible Responses
201
Create zone
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/dns/zones" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "zone" : { "name" : "myzone-kplhsjhlsa.com" } }
Type
any
{ "zone" : { "name" : "myzone-kplhsjhlsa.com" } }
Type
any
RESPONSE BODY
201
{
"id" : 6,
"name" : "myzone-ujuexzzzpw.com",
"created_at" : "2015-09-21T12:19:04.000+02:00",
"updated_at" : "2015-09-21T12:19:04.000+02:00",
"human_name" : "myzone-ujuexzzzpw.com"
}
Type
any
201
<?xml version="1.0" encoding="UTF-8"?>
<zone>
<id>6</id>
<name>myzone-ujuexzzzpw.com</name>
<created-at>2015-09-21T12:19:04+02:00</created-at>
<updated-at>2015-09-21T12:19:04+02:00</updated-at>
<human-name>myzone-ujuexzzzpw.com</human-name>
</zone>
Type
any
Zone detail
GET: /dns/zones/{zoneId}
(secured)
Attribute | Type | Description |
---|---|---|
id | integer | Identifier |
name | string | Domain name IDN (RFC 5890 ) encoded |
human_name | string | Domain name UTF-8 encoded |
URI Parameters
zoneId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Zone detail
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/dns/zones/{zoneId}" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"id" : 6,
"name" : "myzone-ujuexzzzpw.com",
"created_at" : "2015-09-21T12:19:04.000+02:00",
"updated_at" : "2015-09-21T12:19:04.000+02:00",
"human_name" : "myzone-ujuexzzzpw.com"
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<zone>
<id>6</id>
<name>myzone-ujuexzzzpw.com</name>
<created-at>2015-09-21T12:19:04+02:00</created-at>
<updated-at>2015-09-21T12:19:04+02:00</updated-at>
<human-name>myzone-ujuexzzzpw.com</human-name>
</zone>
Type
any
Delete zone
DELETE: /dns/zones/{zoneId}
(secured)
URI Parameters
zoneId
Property | Value |
---|---|
required | true |
type | string |
Delete zone
CURL EXAMPLE
curl -X DELETE "https://api.virtualname.net/v1/dns/zones/{zoneId}" \
-H "X-TCpanel-Token: token"
Records list
GET: /dns/zones/{zoneId}/records
(secured)
Further to filtering by the attributes documented in listings, it is possible to filter by the type
field, which can get any of the values documented at record detail.
Refer to the record detail documentation to know more about each attribute.
Get just the NS records
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/dns/zones/8/records.json?type=NS"
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/dns/zones/8/records.xml?type=NS"
URI Parameters
zoneId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Records list
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/dns/zones/{zoneId}/records" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
[
{
"id" : 98,
"name" : "",
"type" : "SOA",
"content" : "ns1.tecnocratica.net dns.tecnocratica.net 2015092102 7200 7200 1209600 1800",
"ttl" : 7200,
"prio" : null,
"created_at" : "2015-09-21T14:40:26.000+02:00",
"updated_at" : "2015-09-21T14:40:26.000+02:00",
"extra_fields" : {
"primary" : "ns1.tecnocratica.net",
"hostmaster" : "dns.tecnocratica.net",
"serial" : "2015092102",
"refresh" : "7200",
"retry" : "7200",
"expire" : "1209600",
"negative_ttl" : "1800"
}
},
{
"id" : 99,
"name" : "",
"type" : "NS",
"content" : "ns1.tecnocratica.net",
"ttl" : 7200,
"prio" : null,
"created_at" : "2015-09-21T14:40:26.000+02:00",
"updated_at" : "2015-09-21T14:40:26.000+02:00",
"extra_fields" : null
},
{
"id" : 100,
"name" : "",
"type" : "NS",
"content" : "ns2.tecnocratica.net",
"ttl" : 7200,
"prio" : null,
"created_at" : "2015-09-21T14:40:26.000+02:00",
"updated_at" : "2015-09-21T14:40:26.000+02:00",
"extra_fields" : null
}
]
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<records>
<record>
<id>98</id>
<name></name>
<type>SOA</type>
<content>ns1.tecnocratica.net dns.tecnocratica.net 2015092102 7200 7200 1209600 1800</content>
<ttl>7200</ttl>
<prio nil="true"/>
<created-at>2015-09-21T14:40:26+02:00</created-at>
<updated-at>2015-09-21T14:40:26+02:00</updated-at>
<extra-fields>
<primary>ns1.tecnocratica.net</primary>
<hostmaster>dns.tecnocratica.net</hostmaster>
<serial>2015092102</serial>
<refresh>7200</refresh>
<retry>7200</retry>
<expire>1209600</expire>
<negative-ttl>1800</negative-ttl>
</extra-fields>
</record>
<record>
<id>99</id>
<name></name>
<type>NS</type>
<content>ns1.tecnocratica.net</content>
<ttl>7200</ttl>
<prio nil="true"/>
<created-at>2015-09-21T14:40:26+02:00</created-at>
<updated-at>2015-09-21T14:40:26+02:00</updated-at>
<extra-fields nil="true"/>
</record>
<record>
<id>100</id>
<name></name>
<type>NS</type>
<content>ns2.tecnocratica.net</content>
<ttl>7200</ttl>
<prio nil="true"/>
<created-at>2015-09-21T14:40:26+02:00</created-at>
<updated-at>2015-09-21T14:40:26+02:00</updated-at>
<extra-fields nil="true"/>
</record>
</records>
Type
any
Create record
POST: /dns/zones/{zoneId}/records
(secured)
Mandatory attributes
type
The field type is always mandatory when creating a record.
Type A
content
is mandatory and must be a valid IPv4
address.
Type AAAA
content
is mandatory and must be a valid IPv6
address.
Type CNAME
content
is mandatory and must be a valid hostname. Furthermore, the field name
must not be empty.
Type MX
It is mandatory to specify field prio
with the record’s priority.
Type SRV
It is mandatory to include the field extra_fields
with the following attributes: service_name
, protocol
, weight
, destination_host
and destination_port
. It is also mandatory to specify the field prio
with the record’s priority.
Type SPF
content
is mandatory.
TypeTXT
content
is mandatory.
Refer to the record detail documentation to know more about each attribute.
URI Parameters
zoneId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
201
Create record
CURL EXAMPLE
curl -X POST "https://api.virtualname.net/v1/dns/zones/{zoneId}/records" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{
"record": {
"name": "blog",
"type": "CNAME",
"content": "my.domain.com"
}
}
{
"record": {
"type": "SRV",
"prio": 5,
"extra_fields": {
"service_name": "xmpp-client",
"protocol": "tcp",
"weight": 0,
"destination_host": "server.example.net",
"destination_port": 5222
}
}
}
Type
any
{
"record": {
"name": "blog",
"type": "CNAME",
"content": "my.domain.com"
}
}
{
"record": {
"type": "SRV",
"prio": 5,
"extra_fields": {
"service_name": "xmpp-client",
"protocol": "tcp",
"weight": 0,
"destination_host": "server.example.net",
"destination_port": 5222
}
}
}
Type
any
RESPONSE BODY
201
{
"id": 101,
"name": "www.myzone-hbbpocqwvu.com",
"type": "CNAME",
"content": "my.domain.com",
"ttl": 7200,
"prio": null,
"created_at": "2015-09-21T14:40:27.127+02:00",
"updated_at": "2015-09-21T14:40:27.127+02:00",
"extra_fields": null
}
201
{
"id": 103,
"name": "_xmpp-client._tcp.myzone-hbbpocqwvu.com",
"type": "SRV",
"content": "0 5222 server.example.net",
"ttl": 7200,
"prio": 5,
"created_at": "2015-09-21T14:40:27.253+02:00",
"updated_at": "2015-09-21T14:40:27.253+02:00",
"extra_fields": {
"service_name": "xmpp-client",
"protocol": "tcp",
"weight": 0,
"destination_host": "server.example.net",
"destination_port": 5222
}
}
Type
any
201
<?xml version="1.0" encoding="UTF-8"?><record><id>102</id><name>blog.myzone-hbbpocqwvu.com</name><type>CNAME</type><content>my.domain.com</content><ttl>7200</ttl><prio nil="true"/><created-at>2015-09-21T14:40:27+02:00</created-at><updated-at>2015-09-21T14:40:27+02:00</updated-at><extra-fields nil="true"/></record>
201
<?xml version="1.0" encoding="UTF-8"?><record><id>104</id><name>_xmpp-server._tcp.myzone-hbbpocqwvu.com</name><type>SRV</type><content>0 5269 server.example.net</content><ttl>7200</ttl><prio>5</prio><created-at>2015-09-21T14:40:27+02:00</created-at><updated-at>2015-09-21T14:40:27+02:00</updated-at><extra-fields><service-name>xmpp-server</service-name><protocol>tcp</protocol><weight>0</weight><destination-host>server.example.net</destination-host><destination-port>5269</destination-port></extra-fields></record>
Type
any
Record detail
GET: /dns/zones/{zoneId}/records/{recordId}
(secured)
Attribute | Type | Description |
---|---|---|
id | integer | Identifier |
name | string | Record name |
type | string | Record type |
content | string | Record content |
ttl | integer | TTL |
prio | integer | Priority |
type
Value |
---|
A |
AAAA |
CNAME |
MX |
NS |
SOA |
SPF |
SRV |
TXT |
Additional fields
In records of types SOA
, MX
and SRV
, field content
is automatically processed and more attributes are added to the API response in the attribute extra_fields
.
SOA
Attribute | Type | Value |
---|---|---|
primary | string | Primary NS |
hostmaster | string | Zone hostmaster |
serial | string | Zone serial |
refresh | integer | Refresh value |
retry | integer | Retry value |
expire | integer | Expire value |
default_ttl | integer | Default zone TTL |
MX
Attribute | Type | Value |
---|---|---|
server | string | MX server |
SRV
Attribute | Type | Value |
---|---|---|
service_name | string | Service name |
protocol | string | Service protocol |
weight | integer | Weight |
destination_host | string | Destination host |
destination_port | integer | Destination port |
URI Parameters
zoneId
Property | Value |
---|---|
required | true |
type | string |
recordId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Record detail
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/dns/zones/{zoneId}/records/{recordId}" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"id" : 98,
"name" : "",
"type" : "SOA",
"content" : "ns1.tecnocratica.net dns.tecnocratica.net 2015092102 7200 7200 1209600 1800",
"ttl" : 7200,
"prio" : null,
"created_at" : "2015-09-21T14:40:26.000+02:00",
"updated_at" : "2015-09-21T14:40:26.000+02:00",
"extra_fields" : {
"primary" : "ns1.tecnocratica.net",
"hostmaster" : "dns.tecnocratica.net",
"serial" : "2015092102",
"refresh" : "7200",
"retry" : "7200",
"expire" : "1209600",
"negative_ttl" : "1800"
}
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<record>
<id>98</id>
<name></name>
<type>SOA</type>
<content>ns1.tecnocratica.net dns.tecnocratica.net 2015092102 7200 7200 1209600 1800</content>
<ttl>7200</ttl>
<prio nil="true"/>
<created-at>2015-09-21T14:40:26+02:00</created-at>
<updated-at>2015-09-21T14:40:26+02:00</updated-at>
<extra-fields>
<primary>ns1.tecnocratica.net</primary>
<hostmaster>dns.tecnocratica.net</hostmaster>
<serial>2015092102</serial>
<refresh>7200</refresh>
<retry>7200</retry>
<expire>1209600</expire>
<negative-ttl>1800</negative-ttl>
</extra-fields>
</record>
Type
any
Update record (PUT)
PUT: /dns/zones/{zoneId}/records/{recordId}
(secured)
Refer to the record detail documentation to know more about each attribute.
Refer to the record creation documentation to know which attributes are mandatory and which are optional.
URI Parameters
zoneId
Property | Value |
---|---|
required | true |
type | string |
recordId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
422
Update record (PUT)
CURL EXAMPLE
curl -X PUT "https://api.virtualname.net/v1/dns/zones/{zoneId}/records/{recordId}" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "record" : { "extra_fields" : { "destination_host" : "server.example2.net" } } }
Type
any
{ "record" : { "extra_fields" : { "destination_host" : "server.example2.net" } } }
Type
any
RESPONSE BODY
200
{
"id" : 104,
"name" : "_xmpp-server._tcp.www.myzone-hbbpocqwvu.com",
"type" : "SRV",
"content" : "0 5269 server.example.net",
"ttl" : 7200,
"prio" : 5,
"created_at" : "2015-09-21T14:40:27.000+02:00",
"updated_at" : "2015-09-21T14:40:27.421+02:00",
"extra_fields" : {
"service_name" : "xmpp-server",
"protocol" : "tcp",
"weight" : "0",
"destination_host" : "server.example.net",
"destination_port" : "5269"
}
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<record>
<id>104</id>
<name>_xmpp-server._tcp.www.myzone-hbbpocqwvu.com</name>
<type>SRV</type>
<content>0 5269 server.example.net</content>
<ttl>7200</ttl>
<prio>5</prio>
<created-at>2015-09-21T14:40:27+02:00</created-at>
<updated-at>2015-09-21T14:40:27+02:00</updated-at>
<extra-fields>
<service-name>xmpp-server</service-name>
<protocol>tcp</protocol>
<weight>0</weight>
<destination-host>server.example.net</destination-host>
<destination-port>5269</destination-port>
</extra-fields>
</record>
Type
any
Update record (PATCH)
PATCH: /dns/zones/{zoneId}/records/{recordId}
(secured)
Refer to the record detail documentation to know more about each attribute.
Refer to the record creation documentation to know which attributes are mandatory and which are optional.
URI Parameters
zoneId
Property | Value |
---|---|
required | true |
type | string |
recordId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
422
Update record (PATCH)
CURL EXAMPLE
curl -X PATCH "https://api.virtualname.net/v1/dns/zones/{zoneId}/records/{recordId}" \
-H "X-TCpanel-Token: token" \
-H "Content-type: application/json" \
-d @request_body
REQUEST BODY
{ "record" : { "name" : "www", "content" : "another.domain.com" } }
Type
any
{ "record" : { "name" : "www", "content" : "another.domain.com" } }
Type
any
RESPONSE BODY
200
{
"id" : 104,
"name" : "_xmpp-server._tcp.www.myzone-hbbpocqwvu.com",
"type" : "SRV",
"content" : "0 5269 server.example.net",
"ttl" : 7200,
"prio" : 5,
"created_at" : "2015-09-21T14:40:27.000+02:00",
"updated_at" : "2015-09-21T14:40:27.421+02:00",
"extra_fields" : {
"service_name" : "xmpp-server",
"protocol" : "tcp",
"weight" : "0",
"destination_host" : "server.example.net",
"destination_port" : "5269"
}
}
Type
any
200
<?xml version="1.0" encoding="UTF-8"?>
<record>
<id>104</id>
<name>_xmpp-server._tcp.www.myzone-hbbpocqwvu.com</name>
<type>SRV</type>
<content>0 5269 server.example.net</content>
<ttl>7200</ttl>
<prio>5</prio>
<created-at>2015-09-21T14:40:27+02:00</created-at>
<updated-at>2015-09-21T14:40:27+02:00</updated-at>
<extra-fields>
<service-name>xmpp-server</service-name>
<protocol>tcp</protocol>
<weight>0</weight>
<destination-host>server.example.net</destination-host>
<destination-port>5269</destination-port>
</extra-fields>
</record>
Type
any
Delete record
DELETE: /dns/zones/{zoneId}/records/{recordId}
(secured)
URI Parameters
zoneId
Property | Value |
---|---|
required | true |
type | string |
recordId
Property | Value |
---|---|
required | true |
type | string |
Delete record
CURL EXAMPLE
curl -X DELETE "https://api.virtualname.net/v1/dns/zones/{zoneId}/records/{recordId}" \
-H "X-TCpanel-Token: token"
Subclients
Subclients list
GET: /subclients
(secured)
Refer to the subclient documentation to know more about each attribute.
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/subclients.json"
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/subclients.json"
Possible Responses
200
Subclients list
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/subclients" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
[
{
"id": 555,
"name": "John",
"lastname": "Doe",
"ic": "",
"address": "Madrid",
"city": "Madrid",
"state": "Madrid",
"country": "ES",
"zipcode": "Madrid",
"email": "hello@johndoe.es",
"company": "",
"phonecc": "34",
"phone": "0000000",
"company_id": "B11111111",
"legal_form": "natural_person_or_individual",
"twitter": "",
"faxcc": "",
"fax": ""
},
{
"id": 777,
"name": "Mery",
"lastname": "Doe",
"ic": "",
"address": "Madrid",
"city": "Madrid",
"state": "Madrid",
"country": "ES",
"zipcode": "Madrid",
"email": "hello@johndoe.es",
"company": "",
"phonecc": "34",
"phone": "0000000",
"company_id": "B11111111",
"legal_form": "natural_person_or_individual",
"twitter": "",
"faxcc": "",
"fax": ""
}
]
Type
any
200
<?xml version="1.0" encoding="UTF-8" ?>
<subclients>
<subclient>
<id>555</id>
<name>John</name>
<lastname>Doe</lastname>
<ic/>
<address>Madrid</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>Madrid</zipcode>
<email>hello@johndoe.es</email>
<company/>
<phonecc>34</phonecc>
<phone>0000000</phone>
<company-id>B11111111</company-id>
<legal-form>natural_person_or_individual</legal-form>
<twitter/>
<faxcc/>
<fax/>
</subclient>
<subclient>
<id>777</id>
<name>Mery</name>
<lastname>Doe</lastname>
<ic/>
<address>Madrid</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>Madrid</zipcode>
<email>hello@johndoe.es</email>
<company/>
<phonecc>34</phonecc>
<phone>0000000</phone>
<company-id>B11111111</company-id>
<legal-form>natural_person_or_individual</legal-form>
<twitter/>
<faxcc/>
<fax/>
</subclient>
</subclients>
Type
any
Subclient detail
GET: /subclients/{subclientId}
(secured)
Attribute | Type | Description |
---|---|---|
id | integer | Identifier |
name | string | Client name |
lastname | string | Client lastname |
ic | string | Client identity card |
address | string | Client address |
state | string | Client state |
country | string | Client country |
zipcode | string | Client zipcode |
email | string | Client email |
company | string | Client company |
phonecc | string | Client phone preffix |
phone | string | Client phone |
company_id | string | Client company identification card |
legal_form | string | Client legal form |
twitter | string | Client twitter |
faxcc | string | Client fax preffix |
fax | string | Client fax |
URI Parameters
subclientId
Property | Value |
---|---|
required | true |
type | string |
Possible Responses
200
Subclient detail
CURL EXAMPLE
curl -X GET "https://api.virtualname.net/v1/subclients/{subclientId}" \
-H "X-TCpanel-Token: token"
RESPONSE BODY
200
{
"id": 555,
"name": "John",
"lastname": "Doe",
"ic": "",
"address": "Madrid",
"city": "Madrid",
"state": "Madrid",
"country": "ES",
"zipcode": "Madrid",
"email": "hello@johndoe.es",
"company": "",
"phonecc": "34",
"phone": "0000000",
"company_id": "B11111111",
"legal_form": "natural_person_or_individual",
"twitter": "",
"faxcc": "",
"fax": ""
}
Type
any
200
<?xml version="1.0" encoding="UTF-8" ?>
<subclient>
<id>555</id>
<name>John</name>
<lastname>Doe</lastname>
<ic/>
<address>Madrid</address>
<city>Madrid</city>
<state>Madrid</state>
<country>ES</country>
<zipcode>Madrid</zipcode>
<email>hello@johndoe.es</email>
<company/>
<phonecc>34</phonecc>
<phone>0000000</phone>
<company-id>B11111111</company-id>
<legal-form>natural_person_or_individual</legal-form>
<twitter/>
<faxcc/>
<fax/>
</subclient>
Type
any