/server/can_provision


POST https://api.sitehost.nz/1.0/server/can_provision.json

Checks if there are available resources to provision a specific server product.

Form Parameters

ParameterTypeRequiredDescription
productstringYesThe code for the product to provision.Example: XENLIT
locationstringYesThe code for the location to provision to.Example: AIR
distrostringYesThe code for the distribution to provision.Example: ubuntu
archstringThe architecture of the server to provision.Example: amd64
client_idintegerThe ID for the client requesting the provision.Example: 1

Code Samples

JavaScript PHP Rails Python
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("POST", "https://api.sitehost.nz/1.0/server/can_provision.json", false);

var data = new FormData();
data.append("apikey", "your_key_here");
data.append("product", "XENLIT");
data.append("location", "AIR");
data.append("distro", "ubuntu");
data.append("arch", "amd64");
data.append("client_id", "1");

xmlHttp.send(data);

var response = xmlHttp.responseText;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.sitehost.nz/1.0/server/can_provision.json");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$body = array(
'apikey' => 'your_key_here',
'product' => 'XENLIT',
'location' => 'AIR',
'distro' => 'ubuntu',
'arch' => 'amd64',
'client_id' => 1,
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);

$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
require 'net/http'
require 'uri'

uri = URI.parse("https://api.sitehost.nz/1.0/server/can_provision.json")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)

body = {"apikey" => "your_key_here",
"product" => "XENLIT",
"location" => "AIR",
"distro" => "ubuntu",
"arch" => "amd64",
"client_id" => 1,
}
request.set_form_data(body)

response = http.request(request)
import requests
from collections import OrderedDict

uri = 'https://api.sitehost.nz/1.0/server/can_provision.json'

# We need ordered dictionary because parameters have to be in the right order.
# Refer to Developer Notes for more information.
body = OrderedDict()

body['apikey'] = 'your_key_here'
body['product'] = 'XENLIT'
body['location'] = 'AIR'
body['distro'] = 'ubuntu'
body['arch'] = 'amd64'
body['client_id'] = 1

response = requests.post(uri, data=body)

Response

200:

application/json
{
  "msg": "Successful.",
  "status": true,
  "time": 32
}