Register new domain

Description

POST https://rest.netim.com/3.0/domain/{domain}/

Request a new domain registration.

URL Parameters

  • {domain}

    Domain name to be registered.
    For IDN, you must provide the domain name as ACE string.

 

Headers

  • Authorization string

    The Autorization header must start with “Bearer ” followed by the session ID.
    Example:”Autorization: Bearer b0f13a3c01d9cce2a9a44cd729f81c26″

  • Content-type string

    Content type of the request

    Only “application/json” is accepted

 

Body

REQUIRED

  • idOwner string (12)
    ID of the owner contact (With “isOwner=1”).
  • idAdmin string (12)
    ID of the administrative contact (With “isOwner=0”).
  • idTech string (12)
    ID of the technical contact (With “isOwner=0”).
  • idBilling string (12)
    ID of the billing contact (With “isOwner=0”).
  • duration integer
    Duration (in years).
  • nameservers array (0-13)
    Nameserver list

 

OPTIONAL

  • options array
    Registration options
  • options.templateDNS integer (0/1)
    DNS template ID
  • options.trustee integer (0/1)
    Use the domain trustee service
  • options.intendedUse string
    Domain intended use for trustee service
  • options.local integer (0/1)
    Use the local contact service
  • options.FAST_TRT integer (0/1)
    Skip verification and creation of hosts and contacts to speed up processing (see “Important information” tab)

 

JSON example

{
    "idOwner": "HOLDER_ID",
    "idAdmin": "CONTACT_ID",
    "idTech": "CONTACT_ID",
    "idBilling": "CONTACT_ID",
    "nameservers": {
        "1": {
            "name": "ns1.netim.net"
        },
        "2": {
            "name": "ns2.netim.net"
        }
    },
    "duration": 1
}
  • Contact IDs must exist and belong the reseller.
  • idOwner must be a contact with isOwner=1
  • idAdmin, idTech, idBilling must be contacts with isOwner=0 or be defined with the reseller ID
  • According to the extension, allocation and semantic rules may apply. See relative information for the extension
  • The minimal number of nameservers must match the requirements of the extension.
  • A DNS test may be performed prior the registration. See structdomaintldinfo.HasZonecheck
  • The duration must correspond to periods allowed by the extension. See structdomaintldinfo.PeriodCreate
  • The templateDNS must belong to the reseller. (If provided, the template is used. If not provided, the default template defined in the reseller account is used.
    If no default template is defined then NETIM’s template is used)
  • In order to use the domain trustee service, you must specify its intended use
  • Contacts and hosts are created on a product-by-product basis; using the “FAST_TRT” option will cause the operation to fail if the contacts or hosts used have not already been used previously for this product without the “FAST_TRT” option.

Common language  examples

<?php

$ch = curl_init();

$body = array(
    'idOwner' => 'HOLDER_ID',
    'idAdmin' => 'CONTACT_ID',
    'idTech' => 'CONTACT_ID',
    'idBilling' => 'CONTACT_ID',
    'nameservers' => array(
        1 => ['name' => 'ns1.netim.net'],
        2 => ['name' => 'ns2.netim.net'],
    ),
    'duration' => 1,
);

curl_setopt($ch, CURLOPT_URL, "https://rest.netim.com/3.0/domain/$domain");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer $sessionID", 'Content-type: application/json']);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($body));

$result = json_decode(curl_exec($ch), true);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
import java.util.Base64;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {

    public static void main(String args[]) throws Exception {
        String sessionID = "12345678";
        String domain = "example.com";
        String body = "{\"idOwner\":\"HOLDER_ID\",\"idAdmin\":\"CONTACT_ID\",\"idTech\":\"CONTACT_ID\",\"idBilling\":\"CONTACT_ID\",\"nameservers\":{\"1\":{\"name\":\"ns1.netim.net\"},\"2\":{\"name\":\"ns2.netim.net\"}},\"duration\":1}";

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://rest.netim.com/3.0/domain/" + domain))
            .method("POST", HttpRequest.BodyPublishers.ofString(body))
            .header("Content-Type", "application/json")
            .header("Accept-Language", "EN")
            .header("Authorization", "Bearer " + sessionID)
            .build();

        HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
        String result = response.body().toString();
    }
}
#!/usr/bin/python3

import json
import requests

domain = 'example.com'
url = 'https://rest.netim.com/3.0/domain/' + domain
sessionId = "1234567"

data = {
    "idOwner": "HOLDER_ID",
    "idAdmin": "CONTACT_ID",
    "idTech": "CONTACT_ID",
    "idBilling": "CONTACT_ID",
    "nameservers": {
        "1": {
            "name": "ns1.netim.net"
        },
        "2": {
            "name": "ns2.netim.net"
        }
    },
    "duration": 1
}

headers = {"Authorization": "Bearer " + sessionId, "Content-Type": "application/json"}

response = requests.post(url, headers=headers, data=json.dumps(data))
curl -X POST https://api.netim.com/rest/3.0/domain/example.com \
-H 'Autorization: Bearer b0f13a3c01d9cce2a9a44cd729f81c26=' \
-H 'content-type: application/json' \
-d '{"idOwner":"HOLDER_ID","idAdmin":"CONTACT_ID","idTech":"CONTACT_ID","idBilling":"CONTACT_ID","nameservers":{"1":{"name":"ns1.netim.net"},"2":{"name":"ns2.netim.net"}},"duration":1}'