Register new domain

Description

POST https://rest.netim.com/1.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).
OPTIONAL

  • ns1 string (255)
    Primary name server.
  • ns2 string (255)
    Secondary name server.
  • ns3 string (255)
    Secondary name server.
  • ns4 string (255)
    Secondary name server.
  • ns5 string (255)
    Secondary name server.
  • templateDNS integer
    Number of a DNS template.

JSON example

{
"idOwner":"HOLDER_ID",
"idAdmin":"CONTACT_ID",
"idTech":"CONTACT_ID",
"idBilling":"CONTACT_ID",
"ns1":"ns1.netim.net",
"ns2":"ns2.netim.net",
"ns3":"ns3.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)

Common language examples

<?php
 
	$ch = curl_init();
 
	$body = array(
		"idOwner" => "HOLDER_ID",
		"idAdmin" => "CONTACT_ID",
		"idTech" => "CONTACT_ID",
		"idBilling" => "CONTACT_ID",
		"ns1" => "ns1.netim.net",
		"ns2" => "ns2.netim.net",
		"ns3" => "ns3.netim.net",
		"duration" => 1,
	);
 
	curl_setopt($ch, CURLOPT_URL,"https://rest.netim.com/1.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\",\"ns1\":\"ns1.netim.net\",\"ns2\":\"ns2.netim.net\",\"ns3\":\"ns3.netim.net\",\"duration\":1}";
 
		HttpClient client = HttpClient.newHttpClient();
		HttpRequest request = HttpRequest.newBuilder()
			.uri(URI.create("https://rest.netim.com/1.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/1.0/domain/' + domain
 
sessionId = "1234567"
 
data = {
    "idOwner":"HOLDER_ID",
    "idAdmin":"CONTACT_ID",
    "idTech":"CONTACT_ID",
    "idBilling":"CONTACT_ID",
    "ns1":"ns1.netim.net",
    "ns2":"ns2.netim.net",
    "ns3":"ns3.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://rest.netim.com/1.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","ns1":"ns1.netim.net","ns2":"ns2.netim.net","ns3":"ns3.netim.net","duration":1}'