NAV navbar
logo
jsonxml

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.
  • Production
    • Host: api.virtualname.net. All transactions will be made on top of SSL/TLS. Connect API using https or through port 443.

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 of XML you should use XPath or use the attribute name hierarchically.

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

VersionCurrent statusRelease date
/v1AlphaNot 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:

VerbDescription
GETUsed typically to obtain information about a resource. The result is usually a resource or a list of resources
HEADIt 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
POSTCreates a new resource
PATCHUpdates an existing resource. Preferred method
PUTUpdates an existing resource. The verb PATCH is preferred, although no operative difference exists
DELETERemoves 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 typeAssociated HTTP verbsLimitWindow
InformativeGET, HEAD1000 requests1 hour
OperativePOST, PATCH, PUT, DELETE1000 requests1 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 codeDescription
200Success
201Success. Resource created
202Success. Request scheduled to be executed in background. This code will be returned only for asynchronous calls
400Invalid request. This usually happens when a first level required parameter is missing. Review documentation for the failing request
401Unauthorized request. The token used is not valid, or the IP address from which the request is made is not authorized
402You don’t have enough deposit to execute the operation. Reload your deposit to execute the request
404Resource not found
422Entity 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
429Request limit exceeded
500Internal 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
502Processes that should be tending to your request are not there. Shouldn’t happen! Retry the request
503API 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: English
  • es: Spanish
  • ca: 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.

AttributeTypeDescription
limitintegerMaximum number of results to be returned
offsetintegerOffset to start returning results
untildatetimeOnly 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.

AttributeTypeDescription
statusstringFilters by elements that have one of the status specified (separated by commas)
technical_statusstringFilters 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

ValueDescription
pendingPayment pending
paidPaid
activeActive
suspendedSuspended by the system
operator_suspendedSuspended by an operator
user_suspendedSuspended by a user
subuser_suspendedSuspended by a subuser
cancelledCancelled
deletion_requestedDeletion requested
inactiveInactive
destroyingIn process to be removed
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:

AttributeTypeDescription
product_statusstringStatus of the product or service
product_technical_statusstringTechnical status of the product or service. Usually NULL, except for those resources in which its use is documented
product_periodicitystringPeriodicity or recurrency of the product or service
product_expirationdateExpiration 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.

ValueDescription
pendingPending payment
paidPaid
activeActive
suspendedSuspended by the system
operator_suspendedSuspended by an operator
user_suspendedSuspended by a user
subuser_suspendedSuspended by a subuser
cancelledCancelled
deletion_requestedDeletion requested
inactiveInactive
destroyingIn process of removal

product_periodicity

ValueDescription
not_recurrentNo recurrency. For example, domains and certificates belong to this type.
monthlyMonthly
bimonthlyBi-monthly
quarterlyQuarterly
halfyearlyHalf-yearly
yearlyYearly

More often than not, you will find a field created_at and another called updated_at in many of the queried objects.

AttributeTypeDescription
created_atdatetimeObject creation
updated_atdatetimeObject 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)

Listing

AttributeTypeDescription
invoice_idintegerOrder linked to the transaction. Not NULL if deposit has been used, and it points to the order that subtracted from deposit
order_idintegerOrder linked to the transaction. Not NULL if a charge, and points to the charging order
balancedecimalDeposit balance after the transaction

Query Parameters

limit

Maximum number of results to be returned

PropertyValue
requiredfalse
typeinteger

until

Only return elements created before the specified date

PropertyValue
requiredfalse
typedatetime

offset

Offset to start returning results

PropertyValue
requiredfalse
typeinteger

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)

Listing

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

PropertyValue
requiredfalse
typeinteger

until

Only return elements created before the specified date

PropertyValue
requiredfalse
typedatetime

offset

Offset to start returning results

PropertyValue
requiredfalse
typeinteger

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)

AttributeTypeDescription
idintegerIdentifier
statusstringStatus
processed_withstringForm of payment used for the order or invoice
closed_atdatetimeTimestamp at which the order or invoice was closed
companystringCompany name if not empty
company_idstringCompany VAT number if not empty
namestringClient name
lastnamestringClient last name
icstringNIC/NIF/NIE or any other document identifying the client.
emailstringE-mail address
phoneccstringCountry code for the phone number
phonestringPhone number
addressstringPostal address
zipcodestringPostal code
citystringCity
statestringProvince or state
countrystringCountry in format ISO 3166-1 alpha-2
checkout_atdatetimeTimestamp at which the order or invoice was checked out
rejected_atdatetimeTimestamp at which the payment was rejected. Not NULL only if the payment was rejected and the type was bank transfer
referencestringInvoice number. If order it contains NULL
subtotaldecimalSubtotal of the order or invoice. Not computing discounts
subtotal_with_discountdecimalSubtotal of the order or invoice, discounts computed
totaldecimalInvoice total. Includes discounts and taxes
vat_conceptslistList of taxes applied to the invoice
orderslistOrder 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:

AttributeTypeDescription
conceptstringTax description
amountdecimalTax amount

URI Parameters

invoiceId

PropertyValue
requiredtrue
typestring

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.

AttributeTypeDescription
idintegerIdentifier
statusstringStatus
quantityintegerQuantity
invoice_idintegerOrder or invoice
fromdateSince when the order is linked
todateUntil when the order is linked
fixed_discountdecimalFixed discount
proportional_discountdecimalDiscount rate
amountdecimalUnit price
product_periodicitystringService periodicity
source_amountdecimalUnit price in the source currency
source_currencystringSource currency
exchange_ratedecimalExchange rate applied for this order from the source currency
descriptionstringService description
subtotaldecimalSubtotal for this order

URI Parameters

orderId

PropertyValue
requiredtrue
typestring

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:

AttributeTypeDescription
source_currencystringSource currency code (ISO 4217)
target_currencystringTarget currency code (ISO 4217)
exchange_ratedecimalEffective 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

PropertyValue
requiredtrue
typestring

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)

Listing

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

AttributeTypeDescription
idintegerIdentifier
namestringName
lastnamestringLast name
companystringCompany name
legal_formstringCompany legal form
emailstringE-mail address
addressstringPostal address
citystringCity
statestringProvince or state
countrystringCountry in ISO 3166-1 alpha-2 format
zipcodestringPostal code
phoneccstringPhone number country code
phonestringPhone number
icstringNIF/NIE or any other document identifying the person bearing it
faxccstringFax number country code
faxstringFax number
birthdatedateBirth date
birthplacedateBirth place
passportstringPassport

Legal forms are available depending on the country of the contact.

CountryValueDescription
ESagrarian_transformationAgrarian transformation
ESassociationAssociation
ESautonomous_public_organizationAutonomous public organization
ESbranch_in_spainBranch in spain
EScivil_societyCivil society
EScommunity_of_ownersCommunity of owners
EScommunity_propertyCommunity property
EScongregation_or_religious_institutionCongregation or religious institution
ESconsortiumConsortium
ESconsulateConsulate
EScooperative_societyCooperative society
EScorporationCorporation
ESdesignation_of_origin_control_boardDesignation of origin control board
ESeconomic_interest_groupEconomic interest grouping
ESeducation_corporationEducation corporation
ESembassyEmbassy
ESfoundationFoundation
ESlabour_society_limitedLabour society limited
ESlimited_partnershipLimited partnership
ESlimited_societyLimited society
ESlocal_organizationLocal organization
ESlocal_public_agencyLocal public agency
ESmutual_insuranceMutual insurance
ESnatural_person_or_individualNatural person or individual
ESnatural_space_agency_managerNatural space agency manager
ESorgan_of_the_regional_administrationOrgan of the regional administration
ESorgan_of_the_state_administrationOrgan of the state administration
ESotherOther
ESpartnershipPartnership
ESpolitical_partyPolitical party
ESpublic_corporationPublic corporation
ESsavingsSavings
ESsports_associationSports association
ESsports_corporationSports corporation
ESsports_federationSports federation
ESstate_public_agencyState public agency
EStrade_associationTrade association
ESunionUnion

URI Parameters

contactId

PropertyValue
requiredtrue
typestring

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

PropertyValue
requiredtrue
typestring

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

PropertyValue
requiredtrue
typestring

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

PropertyValue
requiredtrue
typestring

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)

Listing

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 the name field, which is the full domain name.


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)

AttributeTypeDescription
idintegerIdentifier
namestringDomain name (TLD included)
auto_renewbooleanAuto renew
privacybooleanContacts privacy (not supported by all the TLD's)
protectionbooleanTransfer protection (not supported by all the TLD's)
authcodestringDomain auth code
transfer_date_requesteddatetimeIf the domain is an external transfer, timestamp of the latest transfer request
contactsobjectIncludes 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:

ValueDescription
transferringThe domain is being transferred to your customer account
transfer_expiredThe 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_transferThe domain was transferred to other provider and we have lost control over it
expiredThe domain is expired. While the domain is in this status, it is still possible to request its renewal
redemptionThe domain is in redemption period. It is possible to request its redemption

URI Parameters

domainId

PropertyValue
requiredtrue
typestring

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

PropertyValue
requiredtrue
typestring

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

PropertyValue
requiredtrue
typestring

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.

AttributeTypeDescription
expiration_yearintegerCurrent domain expiration year
yearsintegerYears to renew the domain for

URI Parameters

domainId

PropertyValue
requiredtrue
typestring

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

PropertyValue
requiredtrue
typestring

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


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/availabile (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/availabile" \
	-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

{
  "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/hosts (secured)


Possible Responses

200


Host list

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/domains/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/hosts (secured)


Possible Responses

201


Create host

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/domains/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/hosts/{hostId} (secured)


URI Parameters

hostId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Host detail

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/domains/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/hosts/{hostId} (secured)

Updates the IP addresses for a host or glue record.


URI Parameters

hostId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Update host (PUT)

CURL EXAMPLE

curl -X PUT "https://api.virtualname.net/v1/domains/hosts/{hostId}" \
	-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

Update host (PATCH)

PATCH: /domains/hosts/{hostId} (secured)

Updates the IP addresses for a host or glue record.


URI Parameters

hostId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Update host (PATCH)

CURL EXAMPLE

curl -X PATCH "https://api.virtualname.net/v1/domains/hosts/{hostId}" \
	-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

Delete host

DELETE: /domains/hosts/{hostId} (secured)


URI Parameters

hostId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Delete host

CURL EXAMPLE

curl -X DELETE "https://api.virtualname.net/v1/domains/hosts/{hostId}" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

Can not resolve /examples/json/delete_host.json
Type
any

200

Can not resolve /examples/xml/delete_host.xml
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

Dns


Zone list

GET: /dns/zones (secured)

Listing

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)

AttributeTypeDescription
idintegerIdentifier
namestringDomain name IDN (RFC 5890) encoded
human_namestringDomain name UTF-8 encoded

URI Parameters

zoneId

PropertyValue
requiredtrue
typestring

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

PropertyValue
requiredtrue
typestring

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)

Listing

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

PropertyValue
requiredtrue
typestring

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

PropertyValue
requiredtrue
typestring

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)

AttributeTypeDescription
idintegerIdentifier
namestringRecord name
typestringRecord type
contentstringRecord content
ttlintegerTTL
priointegerPriority

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

AttributeTypeValue
primarystringPrimary NS
hostmasterstringZone hostmaster
serialstringZone serial
refreshintegerRefresh value
retryintegerRetry value
expireintegerExpire value
default_ttlintegerDefault zone TTL

MX

AttributeTypeValue
serverstringMX server

SRV

AttributeTypeValue
service_namestringService name
protocolstringService protocol
weightintegerWeight
destination_hoststringDestination host
destination_portintegerDestination port

URI Parameters

zoneId

PropertyValue
requiredtrue
typestring

recordId

PropertyValue
requiredtrue
typestring

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

PropertyValue
requiredtrue
typestring

recordId

PropertyValue
requiredtrue
typestring

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

PropertyValue
requiredtrue
typestring

recordId

PropertyValue
requiredtrue
typestring

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

PropertyValue
requiredtrue
typestring

recordId

PropertyValue
requiredtrue
typestring

Delete record

CURL EXAMPLE

curl -X DELETE "https://api.virtualname.net/v1/dns/zones/{zoneId}/records/{recordId}" \
	-H "X-TCpanel-Token: token"